如题,bug重现如下:
CREATE TABLE a ( col VARCHAR(7))
INSERT INTO a (col) VALUES ('5,');
CREATE TABLE b (col VARCHAR(7));
这里 col = '5,' 遇到了 case when col=5 时,发生了 类型转换,'5,' 转成了 5 ,上面的 截图中的 结果也说明了这个问题。
但是当我们执行:insert into b select from 语句时,这个 类型转换却不执行了,导致报错:
后面只好 改成 replace(col,',','') 这样使用 replace 把 ‘5,’ 转成 '5' 才好的。
后面发现: set sql_mode=''; 也可以了,不过报错变成了 警告。