我正在尝试将csv文件导入mysql数据库中的表。该表有141列,数据类型为INT
,VARCHAR(20)
,TIMESTAMP
,TIMESTAMP
,然后是一系列TINYTEXT
和VARCHAR(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';
答案 0 :(得分:1)
在INSERT
期间,MySQL会告诉您是否有太多列。但显然MySQL并不是很善良:在LOAD
期间, 不 告诉您是否有太多列。