这是一个奇特的场景: 我正在尝试将制表符分隔文件导入到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修复它。
答案 0 :(得分:2)
Windows的默认分隔符是逗号。用另一个字符更改它并将其与源数据匹配。
更改默认分隔符:
转到“控制面板” - >区域和语言选项(或日期,时间和区域选项 - >某些机器上的区域和语言选项) - >单击“自定义”按钮。在打开的对话框中,您将看到“列表分隔符”选项,您可以在其中将逗号更改为其他字符 - >单击应用然后单击确定,然后单击应用。现在,当您进入Excel并选择“导出为CSV”时,新字符将用作分隔符。