美好的一天
我创建了一个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'"
我的问题是我无法将“将连续分隔符视为一个”来工作......
我该如何添加?
答案 0 :(得分:1)
既然我们已经真正解决了问题的真正症结,那就是不一个连续的分隔符问题 - 这是一个CSV文件格式问题。
如果您的CSV文件包含B121,535
这样的字段,并且它们未包含在某种和的引号中,那么您的分隔符为,
,则无法使用SQL jiggery-pokery将解决你的问题。带有此类逗号的未引用字段将始终解释为两个单独的字段,除非包含在引号内。
从CSV文件发布导致问题的样本行,我们可以进一步诊断。如果做不到这一点,再次从初始系统导出数据,确保格式正确(将所有内容都包含在语音标记或字符串字段中)
最后,您确定您的数据库是基于MySQL而不是Microsoft SQL吗?对SQLCMD.EXE
的唯一引用我可以发现所有指向与SQL Server Express相关的Microsoft站点,但即使这样,它也有不同的选项结构(-U
用于用户而不是/user
) 。如果是这种情况,您可以通过放置正确的信息标签来节省大量麻烦。如果没有,那么我会说SQLCMD.EXE
是来自某个地方的自定义书面申请,问题可能都源于此。如果是这种情况,那么如果CSV格式正确,我们就无法帮助您 - 您自己