我正在尝试将一个 csv 文件导入到 mysql 数据库中的一个表中。该表有 141 列,数据类型为 INT
、VARCHAR(20)
、TIMESTAMP
、TIMESTAMP
,然后是一个TINYTEXT
和 VARCHAR(4)
系列。
我在数据类型为 VARCHAR(4)
的列上收到 7 个数据截断错误,其数据不超过 4 个字符。
我尝试使用 IGNORE
强制它继续,但随后它变得疯狂并将来自其他 单元格的数据切碎并散布在整个表格中。
我在 MS 2008 R2 服务器上使用命令行运行 SQL,csv 文件位于 Db 的目录中。
附言我确实阅读了其他几篇与 mysql+import 或 mysql+data truncated (1265) 相关的帖子和谷歌搜索结果,但它们似乎没有涵盖这个特定问题。
谢谢!
编辑:我很确定它与 LOAD DATA
函数有关,因为如果我一次 INSERT
一行, 它工作得很好......
我的导入 sql 是:
LOAD DATA INFILE '2011-09.csv' IGNORE INTO TABLE `survey`.`2011-09` FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
最佳答案
在 INSERT
期间,MySQL 会告诉您是否有太多列。但显然 MySQL 不是很友善:在 LOAD
期间,它不会告诉您是否有太多列。
关于mysql> 错误 1265 : data truncated for column 'xxx' at row 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7393221/