UPDATE 更新数据时报错:
ERROR 1292 (22007): Truncated incorrect DOUBLE value: 'XXXX'
查了下原因为查询条件字段的类型不匹配,例如:
CREATE TABLE `test` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`user_id` varchar(20),
`name` varchar(20),
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
查询时
UPDATE test SET name = "aaa" WHERE user_id = 1111;
就会报上边的错误。
需要改为
UPDATE test SET name = "aaa" WHERE user_id = "1111";
详细解释可以参考:
ERROR 1292 (22007): Truncated incorrect DOUBLE value 和ORA-01722: invalid number