2

这是一个特殊的场景:我正在尝试将一个制表符分隔文件导入 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 修复它。

4

1 回答 1

2

Windows 的默认分隔符是逗号。将其更改为另一个字符并将其与您的源数据匹配。

要更改默认分隔符:

转到控制面板--> 区域和语言选项(或日期、时间和区域选项--> 在某些机器上的区域和语言选项)--> 单击自定义按钮。在打开的对话框中,您将看到“列表分隔符”选项,您可以在其中将逗号更改为不同的字符 --> 单击应用,然后单击确定,然后再次应用。现在,当您进入 Excel 并选择导出为 CSV 时,新字符将用作分隔符。

于 2012-10-03T02:52:21.907 回答