MySQL在制表符分隔文件(LOAD DATA INFILE)上包含逗号

时间:2012-10-02 22:08:14

标签: mysql tabs comma delimited file-io

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

1 个答案:

答案 0 :(得分:2)

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

更改默认分隔符:

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