【发布时间】:2011-11-10 11:10:36
【问题描述】:
我正在尝试使用以下查询将 CSV 文件导入我的 MySQL 表:
LOAD DATA INFILE 'C:\\machines.csv'
INTO TABLE `machines`
CHARACTER SET latin1
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 0 LINES;
但是它给出了以下错误
1406- 第 10334 行的“technicalInfo”列的数据太长
问题似乎在于该行在技术信息列中包含⌀ 字符。
是否可以在查询中删除/替换此字符?
(注:显然另一种解决方案是将其从 csv 文件本身中删除。问题是我可能每天多次导入此文件的不同版本,所以我宁愿将其构建到查询中.)
【问题讨论】:
-
你试过
mysqlimport实用程序吗? -
将您的
character set` 更改为 utf-8` 有帮助吗? -
@abhinav 谢谢。看起来应该是“utf8”(没有破折号)。