文本导入错误

时间:2013-08-28 11:36:17

标签: mysql database

美好的一天

我创建了一个bat文件来将文本文件导入我的MySQL数据库,它看起来如下:

    sqlcmd /user root /pass password /db "MyDB" /command "LOAD DATA LOCAL INFILE 'file.csv' INTO TABLE TG_Orders FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'"

我的问题是我无法将“将连续分隔符视为一个”来工作......

我该如何添加?

1 个答案:

答案 0 :(得分:1)

既然我们已经真正解决了问题的真正症结,那就是一个连续的分隔符问题 - 这是一个CSV文件格式问题。

如果您的CSV文件包含B121,535这样的字段,并且它们未包含在某种的引号中,那么您的分隔符为,,则无法使用SQL jiggery-pokery将解决你的问题。带有此类逗号的未引用字段将始终解释为两个单独的字段,除非包含在引号内。

从CSV文件发布导致问题的样本行,我们可以进一步诊断。如果做不到这一点,再次从初始系统导出数据,确保格式正确(将所有内容都包含在语音标记或字符串字段中)

最后,您确定您的数据库是基于MySQL而不是Microsoft SQL吗?对SQLCMD.EXE的唯一引用我可以发现所有指向与SQL Server Express相关的Microsoft站点,但即使这样,它也有不同的选项结构(-U用于用户而不是/user) 。如果是这种情况,您可以通过放置正确的信息标签来节省大量麻烦。如果没有,那么我会说SQLCMD.EXE是来自某个地方的自定义书面申请,问题可能都源于此。如果是这种情况,那么如果CSV格式正确,我们就无法帮助您 - 您自己