0

我有一个 MySQL 表,其中我将一系列应用程序图标(各种分辨率)存储为 blob 字段 - 每个表行标识一个应用程序和六个图标图像。我的 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 回答