【发布时间】:2012-02-19 16:53:19
【问题描述】:
我有一个名为 TAG 的 MySQL 表,它从 CSV 文件中导入值。
mysql> describe TAG;
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| TA_BO_ISBN | varchar(14) | YES | | NULL | |
| TA_Tag | varchar(30) | YES | | NULL | |
+------------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
当我尝试查看整个表格时,ISBN 号似乎有问题
mysql> select * from TAG;
+----------------+----------------+
| TA_BO_ISBN | TA_Tag |
+----------------+----------------+
|794557 | paris
|1794558 | france
|1794559 | europe
|94560 | city
|1794561 | lonely
当我选择 ISBN 编号时,结果看起来不错。
mysql> select TA_BO_ISBN from TAG;
+----------------+
| TA_BO_ISBN |
+----------------+
| 978-1741794557 |
| 978-1741794558 |
| 978-1741794559 |
奇怪的是,当我选择标签时,结果又看起来很奇怪
mysql> select TA_TAG from TAG;
+----------------+
| TA_TAG |
+----------------+
|
|
|
|
|
|
|
|
|
|
|
|untryside
|r
|
|ges
|
这不仅仅是审美问题,我感觉这会在我的 SQL 查询中造成问题。导入脚本以防万一有人好奇。
LOAD DATA LOCAL INFILE 'sql/tags.csv'INTO TABLE TAG FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
【问题讨论】:
-
你能给我们,比如说,CSV 文件的 10 行吗?
-
另外,问题可能与文件编码有关吗?
-
这里是CSV前20行的链接:yourfilelink.com/get.php?fid=764674谢谢你的帮助
-
ASCII text, with CRLF line terminators。这只是在黑暗中的一个远射:你能告诉我们如果你说行以'\r\n'结尾会发生什么吗?我真的没有看到任何其他可能出错的地方,即使这个\r\n问题也不太可能是罪魁祸首。 -
我试过这个,它没有任何改变。感谢您的帮助。