问题

最近用python使用pymysql插入数据时,报错了,我一口气插入了2W条数据,在中间报错了,如下图:

pymysql 插入错误:Warning(1265, “Data truncated for column ‘XXXX‘ at row xxx“)_数据

报错打印如下:

Warning(1265, “Data truncated for column ‘dtc_zh_CN’ at row 3589”)

解决方案

这个错误,其实就是插入的数据不合法造成的,

比如:乱码,超出字段长度,非法字符等, 我这里的插入的数据超出字段长度造成的,奇怪的是我将sql语句直接拿到Navicat上面就能成功执行,不报错,不过执行速度太慢了,一口气添加2W条数据花了我20多秒,不过我用python执行,毫秒级别就完成了,还是很赞的。

说下我具体哪里字段长度超错了,如下:

原:

dtc_zh_CN VARCHAR(50)   NULL,

改为

dtc_zh_CN VARCHAR(100)   NULL,

即可

按道理说VARCHAR是自动属性长度增长的,这边会报错,我也是百思不得其姐啊。。。