【问题标题】:MySQL ERROR 1064 cause (LOAD DATA INFILE)MySQL ERROR 1064 原因(加载数据输入文件)
【发布时间】:2011-07-18 08:28:23
【问题描述】:

当我在 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

此消息不是很有帮助,它可能会出现无数语法错误之一。

我如何找出我在使用这种笼统的“它不起作用”的错误消息时犯了什么错误?

【问题讨论】:

    标签: mysql sql database load-data-infile


    【解决方案1】:

    试试

    LOAD DATA INFILE 'myFile.csv' INTO TABLE myTable 
    FIELDS TERMINATED BY ','
    

    (将 TO 更改为 INTO TABLE)

    取自documentation

    【讨论】:

    • 感谢您指出。但是,我仍然收到相同的错误消息:((我编辑了我的问题。)
    • 很抱歉,您是否添加了“INTO TABLE myTable”?还是只是“INTO myTable”?
    • 哦,现在可以了!很抱歉我没有看到它是“INTO TABLE”,我已经盯着它看太久了......非常感谢您的帮助:)
    【解决方案2】:

    这个 MySQL 错误:

    You have an error in your SQL syntax; check the manual.
    

    这是 MySQL 能给出的最令人愤怒的答案。你可能犯的大约十亿个错误会导致这个错误。这是 MySQL 很糟糕的部分原因,你应该对继续使用它感到难过。 PostgreSQL 永远不会给出这样一个蹩脚的错误信息。

    你将不得不分而治之。

    想法:

    1. 再看看这些字符的用法:{}[]|\'";:,<.>/?!@#$%^&*()_+ 在您的 SQL 语句中,以确保将它们放在正确的位置。如果它们不合适或缺少适当的空白填充,则可能会导致此错误。

    2. 确保所有双引号和单引号都有匹配的伙伴。如果您没有正确转义某些内容,有时 SQL 解析器会感到困惑。

    3. 重新输入整个答案,确保查询中没有 Unicode 字符。

    4. 确保分隔单词的空格是空格和普通换行符,而不是 ascii 空格、无关的换行符或空格字符。

    5. 确保您以正确的顺序使用正确的关键字。并且您没有省略关键字。 “INTO TABLE blah”与“Into blah”不同,在这个主题上有无限的变体。

    6. 确保在它们所属的位置有分号。删除不属于的。

    删除 MySQL,如果有人问为什么,然后说:“因为开发人员忘记将特定错误链接到有意义的唯一错误消息”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-05
      • 1970-01-01
      • 2019-04-28
      • 1970-01-01
      • 2020-11-27
      • 2014-11-25
      • 2021-02-15
      • 2019-09-28
      相关资源
      最近更新 更多