【问题标题】:LOAD DATA INFILE error 1064加载数据输入错误 1064
【发布时间】:2013-11-06 17:52:43
【问题描述】:

我正在运行这个 MySQL 命令:

LOAD DATA LOCAL INFILE 'books.csv'
INTO TABLE BOOK (Book_id, @dummy, Title, Publisher_name, @dummy, @dummy)
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;

我收到一个错误:

ERROR 1064 (42000): 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 
'FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' IGNORE 1 LINES' at line 3

我在这里做错了什么?

【问题讨论】:

    标签: mysql load-data-infile


    【解决方案1】:

    http://dev.mysql.com/doc/refman/5.6/en/load-data.html 显示语法。子句命名列在 IGNORE 子句之后。

    LOAD DATA LOCAL INFILE 'books.csv'
      INTO TABLE BOOK 
    FIELDS TERMINATED BY '\t'
    LINES TERMINATED BY '\r\n'
    IGNORE 1 LINES
    (Book_id, @dummy, Title, Publisher_name, @dummy, @dummy);
    

    【讨论】:

      【解决方案2】:
      You have an error in your SQL syntax; 
      

      深呼吸,这个错误令人愤怒,为什么 MySQL 很糟糕。你有很多工作要做才能弄清楚你做错了什么:

      如果您收到此错误,则表示 SQL 解析器由于以下原因之一而遇到错误:

      1. 一个错位、丢失或不必要的符号,例如!@#$%^&*()-_=+[]{}\|;:'",.<>/?
      2. 错位、缺失或不必要的关键字,例如 selectinto 或其他数以千计的关键字。
      3. 您的查询中有 Unicode 字符。
      4. 关键字之间的空格太少或太多。
      5. 不匹配的单引号、双引号、括号或大括号。

      将 SQL 分解成越来越小的部分,直到只剩下尽可能少的失败语句。

      语法错误会跳出来,你会拍自己的额头,离卸载 MySQL 恶意软件并改用 postgreSQL 更近一步,这不会让用户遇到这种令人发指的一般错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-07-18
        • 1970-01-01
        • 2016-02-14
        • 2011-05-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多