我正在运行这个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
我在这里做错了什么?
答案 0 :(得分:9)
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);
答案 1 :(得分:3)
You have an error in your SQL syntax;
深吸一口气,这个错误令人难以理解,为什么MySQL糟透了。你需要做很多工作才能弄清楚你做错了什么:
如果您收到此错误,则表示SQL解析器由于以下原因之一而遇到错误:
!@#$%^&*()-_=+[]{}\|;:'",.<>/?
。 select
,into
或其他成千上万的关键字。 将SQL分解为越来越小的部分,直到留下最小可能失败的语句。
语法错误将从你身上跳出来,你将拍打你的前额,并且更接近卸载MySQL恶意软件并获得postgreSQL而不会让用户遇到这种令人愤怒的一般错误。