首页 > 数据库技术 > 详细

MySQL 开发时遇到一个好玩的bug

时间:2020-01-09 23:24:59      阅读:88      评论:0      收藏:0      [点我收藏+]

如题,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=‘‘; 也可以了,不过报错变成了 警告。

 

MySQL 开发时遇到一个好玩的bug

原文:https://www.cnblogs.com/digdeep/p/12173829.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!