MySQL的>错误1265:第1行的列'xxx'截断数据

时间:2011-09-12 19:56:41

标签: mysql csv import

我正在尝试将csv文件导入mysql数据库中的表。该表有141列,数据类型为INTVARCHAR(20)TIMESTAMPTIMESTAMP,然后是一系列TINYTEXTVARCHAR(4) s

我在数据类型为VARCHAR(4)的列上收到7个数据截断错误,其数据超过4个字符。

我尝试强制它继续使用IGNORE,但随后它变得疯狂并将其他单元格中的数据分割成碎片并将它们分散在整个表格中。

我在MS 2008 R2服务器上使用命令行运行SQL,而csv文件位于Db的目录中。

P.S。我确实阅读了其他一些与mysql + import或mysql + data truncated(1265)相关的帖子和​​google结果,但它们似乎没有涵盖这一特定问题。

谢谢!

编辑:我很确定它与LOAD DATA函数有关,因为如果我一次INSERT一行,它就可以正常工作...... < / p>

我导入的sql是:

LOAD DATA INFILE '2011-09.csv' IGNORE INTO TABLE `survey`.`2011-09` FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';

1 个答案:

答案 0 :(得分:1)

INSERT期间,MySQL会告诉您是否有太多列。但显然MySQL并不是很善良:在LOAD期间, 告诉您是否有太多列。