pymysql 插入错误:Warning(1265, “Data truncated for column ‘XXXX‘ at row xxx“)_Fu_Lin_的博客-CSDN博客_navicat1265 - 图1

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

问题

最近用python使用pymysql插入数据时,报错了,我一口气插入了2W条数据,在中间报错了,如下图:
pymysql 插入错误:Warning(1265, “Data truncated for column ‘XXXX‘ at row xxx“)_Fu_Lin_的博客-CSDN博客_navicat1265 - 图2
报错打印如下:
Warning(1265, “Data truncated for column ‘dtc_zh_CN’ at row 3589”)

解决方案

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

  1. dtc_zh_CN VARCHAR(50) NULL,

改为

  1. dtc_zh_CN VARCHAR(100) NULL,

即可

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

觉得博主写的还不错的话,就请博主喝杯咖啡☕吧!pymysql 插入错误:Warning(1265, “Data truncated for column ‘XXXX‘ at row xxx“)_Fu_Lin_的博客-CSDN博客_navicat1265 - 图3
pymysql 插入错误:Warning(1265, “Data truncated for column ‘XXXX‘ at row xxx“)_Fu_Lin_的博客-CSDN博客_navicat1265 - 图4