用Python将excel数据插入到MySQL报错(1265, Data truncated for column ‘num‘ at row 1)

作为一个小白,这是第一篇帖子。

希望记录自己一路走来遇到的问题,也希望大佬指正。


一、背景:

用Python将数据逐行插入到MySQL。

二、问题:

但在python运行时发现总是报错(1265, Data truncated for column ‘num‘ at row 1)。

三、查因:

1、原以为是做的数据格式有问题,经过查找数据格式没有问题。

2、是不是建表时的主键有问题:因为当时把日期 DATE 作为主键,但经过查看要导入的数据对应的类型是 '2021-07-21 00:00:00' ,因此把主键的数据类型改为 DATETIME。但结果还是报错(1265, Data truncated for column ‘num‘ at row 1)。

 3、是不是第二列及后续列的数据格式问题:因为源数据类型为 ('2021-07-21 00:00:00', 4.0, 3.9, 4.0),而建表时第二列数据类型为 FLOAT(5.2),接着改为FLOAT(10) 还是报错,最后直接改为 VARCHAR(100),解决问题,实现秒级插入。

四、总结:

建表时的数据类型一定要留意,只要不影响原则问题,能放宽限制就放宽。


这个问题耗费了一天时间才解决,自知是小白,还是记录下。

但解决问题后,我觉得并没有大问题,主要还是细心,在设计数据库时也要在坚守原则情况下留有一定冗余空间。

致敬!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值