在使用load data infile命令时出现下面的错误:

ERROR 1366 (HY000): Incorrect decimal value: '' for column 'PRIC' at row 249

网上查了下有很多类似问题,对其他类型来说或许好办些,对于数值类型不太好办。网上说这是因为mysql5.0版本下sql-mod使用STRICT_TRANS_TABLES的情况下,空值应写出NULL。

解决办法有两种

1. 进入my.ini配置文件,移除STRICT_TRANS_TABLES,并重启mysql。

2.老老实实将空值修改成null。

由于我的数据不是太多,选择了第二种方法。另外出于对移除该选项其他后果没有深入研究的考虑。

由于我这是在load data infile中,不可以通过程序将其设为null,即使文件中写成NULL/null都没有用。我选择了变通的方法设为0。可以去研究下这个问题。

在导入的文件中能不能标志null?

 

发表评论