参考资料:https://bugs.mysql.com/bug.php?id=63112
MySQL更新遇到的一次报错
问题描述:
MySQL版本:Percona5.7.11
系统:CentOS6.5
一次update操作居然报错:Truncated incorrect DOUBLE VALUE:
突然有种怀疑人生的感觉,查找各种资料,最初以为是BUG,最后确定是sql_mode的限制原因
问题复现:
DROP TABLE IF EXISTS t;
CREATE TABLE t (id CHAR(36) NULL);
INSERT t VALUES (1),(2),(3),(4);
UPDATE t SET id = 'a' WHERE id = 1;
UPDATE t SET id = 'b' WHERE id = 2;
解决方法:
set session sql_mode=''
再次更新无报错,提示warnings;
show warnings;