使用load data infile导入数据报错 incorrect integer value

使用load data infile导入数据时,如果是数值字段,原始数据有空值时,会报错 ERROR 1366 (HY000) :incorrect integer value
请问有没有办法解决

在台式机用Navicat导就没有问题,在服务器导就报错

你发文件看一下 空值是什么样的

文件发不出来,分隔符是 #|# 的话,直接就是 #|##|# 这样的,完全是空的,没有值

一整行都是空的么 还是分割后某一个是空的

ERROR 1366 (HY000): Incorrect integer value

我今天也是这个现象。
单独把第一行insert复制出来到navicat执行,可以insert成功。

分割后某个字段是空的,数值类型的字段

改成用ignore into 后可以了,但不清楚是否会跳过一些行,目前看是没有

obclient [test]> LOAD DATA infile 'xxxx.sql' IGNORE INTO TABLE xxxx;
Query OK, 908717 rows affected (1 min 9.004 sec)
Records: 908717  Deleted: 0  Skipped: 0  Warnings: 0
obclient [test]> select count(1) from xxxx;
+----------+
| count(1) |
+----------+
|        1 |
+----------+
1 row in set (0.062 sec)

忽略的话 应该会少一些行的 可以试一试临时修改成sql_mode=‘ANSI’ 在用旁路导入 非官方办法 个人建议

这个目前看可以

好的