【发布时间】:2012-09-23 19:50:08
【问题描述】:
这是一个特殊的场景: 我正在尝试将制表符分隔文件导入 mysql,其中某些行的价格列高于 1,000。当我完成导入时,逗号后面的值被排除在外,最后我的表中只有 1。在 Linux 和 Windows 环境中都进行了尝试,结果相同。
例如,如果制表符分隔文件中的第 1 行、第 1 列包含值 1,564.50,我的 MySQL 表中的第 1 行第 1 列中的值最终为 1。 这是我正在使用的语句。
LOAD DATA LOCAL INFILE 'blah.txt'
INTO TABLE `table1`
FIELDS TERMINATED BY '\t'
OPTIONALLY ENCLOSED BY ''''
LINES TERMINATED BY '\n';
所以我的问题是 1.有人可以确认这一点,或者如果我遗漏了一些东西,我该如何解决这个问题。 2. 如果这是一个 mysql 错误,我有什么选项可以解决正确导入这些值直到 mysql 修复它。
【问题讨论】:
-
你能举一个你的源数据的示例行吗?
-
mysql 使用
\'转义引号,而不是''。请改用optionally enclosed by '\''或"'"。 -
请提供 CSV 文件中的一些行。
-
示例行:'123456' '123456' 产品名称 9 0 0 9 1,555.17 'desc' 1,799.00
-
我尝试同时使用 \' 和 ''。不幸的是同样的行为
标签: mysql tabs comma delimited file-io