我在csv中尝试使用load data infile语法导入此文件。但我在语法中遇到了这个错误。 我尝试了所有的事情,但没有运气。任何帮助都会受到赞赏。
string strLoadData = "LOAD DATA LOCAL INFILE 'C:/xampp/htdocs/explortest.csv' INTO test.tickets FIELDS terminated by ',' ENCLOSED BY '\"' lines terminated by '\r\n' ignore 1 lines ";
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'test.tickets FIELDS terminated by ',' ENCLOSED BY '"' lines terminated by '
'' at line 1
答案 0 :(得分:1)
string strLoadData = "...";
C#编译器将在 strLoadData 中查找转义序列,并用特殊字符替换它们。因此,您的\r\n
将被C#解释为“新行”和“换行”字符。但是你需要MySQL来读取“\ r \ n”而不是“ new line ”和“ line fead ”字符 - 来应用它自己的转义序列解释。
长话短说:将\r\n
替换为\\r\\n
答案 1 :(得分:0)
在INTO之后添加TABLE
LOAD DATA LOCAL INFILE 'C:/xampp/htdocs/explortest.csv'
INTO TABLE test.tickets FIELDS terminated by ',' ENCLOSED BY '\"' lines terminated by '\r\n' ignore 1 lines
答案 2 :(得分:0)
检查行终止文件中的字符。你确定是\r\n
吗?也许您的文件中有\n
或\r
作为行终止。
您可以阅读更多here。我正在复制以下页面的一部分:
注意强>
如果您在Windows系统上生成了文本文件,则可能必须使用LINES TERMINATED BY'\ r \ n'来正确读取文件,因为Windows程序通常使用两个字符作为行终止符。某些程序(如写字板)在编写文件时可能会使用\ r作为行终止符。要读取此类文件,请使用LINES TERMINATED BY'\ r'。