0

一連のアプリアイコン(さまざまな解像度)をblobフィールドとして格納しているMySQLテーブルがあります。各テーブル行は、アプリと6つのアイコン画像を識別します。私のSQLステートメントは次のようになります

INSERT INTO `appicons` (apid,apd16,apd57,apd72,apd114,apd128,apd144) 
  VALUES (:a,:b,:c,:d,:e,:f,:g);

これは正常に機能します。しかし、それぞれappidが一意であることを考えると、アプリのアイコンを更新する必要があることを考慮する必要があります。だから私は試しました

INSERT INTO `appicons` (apid,apd16,apd57,apd72,apd114,apd128,apd144) 
  VALUES (:a,:b,:c,:d,:e,:f,:g) ON DUPLICATE KEY UPDATE apd16 = :bb;

言うまでもなく、それぞれの場合に適切なパラメータをバインドします。ただし、この更新では、予期されたBLOBデータがテーブルに追加されません。代わりに、そのblobフィールドに1バイトのエントリを取得します。

ここで行う必要があるので、blobエントリを更新するにはどうすればよいですか?

4

1 に答える 1

-1

簡単な答えは次のとおりです。パラメータをプリペアド ステートメントにバインドする場合、?? ではなく名前付きパラメータを使用する場合でも、パラメータを順番にバインドする必要があります。プレースホルダー。更新ビットのパラメーターを間違った順序でバインドしていました。

于 2012-07-23T14:02:35.397 に答える