Mysql ERROR 1292 (22007): Truncated incorrect DOUBLE value: 'XXXX'

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

https://yq.aliyun.com/articles/294179

你可能感兴趣的:(数据库)