使用load data infile导入数据时,如果是数值字段,原始数据有空值时,会报错 ERROR 1366 (HY000) :incorrect integer value
请问有没有办法解决
在台式机用Navicat导就没有问题,在服务器导就报错
使用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’ 在用旁路导入 非官方办法 个人建议
这个目前看可以
好的