LOAD DATA INFILE错误1064

时间:2013-11-06 17:52:43

标签: mysql load-data-infile

我正在运行这个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

我在这里做错了什么?

2 个答案:

答案 0 :(得分:9)

http://dev.mysql.com/doc/refman/5.6/en/load-data.html显示语法。子句命名列位于IGN​​ORE子句之后。

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);

答案 1 :(得分:3)

You have an error in your SQL syntax; 

深吸一口气,这个错误令人难以理解,为什么MySQL糟透了。你需要做很多工作才能弄清楚你做错了什么:

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

  1. 错位,缺失或不必要的符号,例如!@#$%^&*()-_=+[]{}\|;:'",.<>/?
  2. 错位,缺失或不必要的关键字,例如selectinto或其他成千上万的关键字。
  3. 您的查询中包含unicode字符。
  4. 关键字之间的空格太少或太多。
  5. 无与伦比的单引号,双引号,括号或大括号。
  6. 将SQL分解为越来越小的部分,直到留下最小可能失败的语句。

    语法错误将从你身上跳出来,你将拍打你的前额,并且更接近卸载MySQL恶意软件并获得postgreSQL而不会让用户遇到这种令人愤怒的一般错误。