当我在MySQL中运行此SQL命令时
LOAD DATA INFILE 'myFile.csv' INTO myTable FIELDS TERMINATED BY ','
我收到此错误:
ERROR 1064 (42000) at line 1: 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 'TO myTable FIELDS TERMINATED BY ','' at line 1
此消息不是很有用,它可能会出现无数语法错误之一。
如何找出我用这样一个通用的“它将无效”错误消息所犯的错误?
答案 0 :(得分:4)
试
LOAD DATA INFILE 'myFile.csv' INTO TABLE myTable
FIELDS TERMINATED BY ','
(更改为INTO TABLE)取自documentation
答案 1 :(得分:1)
此MySQL错误:
You have an error in your SQL syntax; check the manual.
是MySQL可以给出的最令人愤怒的答案。你可能犯了大约十亿个错误,这会产生这个错误。这是MySQL糟透了的部分原因,你应该对继续使用它感到不舒服。 PostgreSQL永远不会给出这样一个蹩脚的错误信息。
你将不得不分裂和克服你的问题。
思路:
再次查看SQL语句中这些字符的使用情况:{}[]|\'";:,<.>/?!@#$%^&*()_+
,以确保将它们放在正确的位置。如果它们不合适或缺少适当的空格填充,则可能导致此错误。
确保所有双引号和单引号都有匹配的合作伙伴。如果你没有正确地逃避某些事情,有时SQL解析器会感到困惑。
重新输入整个答案,以确保查询中没有unicode字符。
确保分隔单词的空格是空格和普通换行符,而不是ascii空格,无关换行符或间距字符。
确保以正确的顺序使用正确的关键字。并且您没有省略关键字。 “INTO TABLE blah”与“Into blah”不同,并且在这个主题上有无限变体。
确保您有分号。删除那些不属于的人。
删除MySQL,如果有人问为什么,那么说:“因为开发人员忘记将特定错误链接到有意义的唯一错误消息”。