3

この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

ここで何が間違っていますか?

4

2 に答える 2

11

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);
于 2013-11-06T17:56:04.133 に答える
5
You have an error in your SQL syntax; 

深呼吸してください。このエラーは腹立たしく、MySQL が最悪な理由です。何が間違っていたのかを理解するために、やるべきことがたくさんあります。

このエラーが発生した場合は、次のいずれかの理由により、SQL パーサーでエラーが発生したことを意味します。

  1. のような間違った場所、欠落、または不要な記号!@#$%^&*()-_=+[]{}\|;:'",.<>/?
  2. selectinto、またはその他の何千もの キーワードのような、間違った場所にある、欠落している、または不要なキーワード。
  3. クエリに Unicode 文字が含まれています。
  4. キーワード間の空白が少なすぎる、または多すぎる。
  5. 一重引用符、二重引用符、括弧、中括弧が一致していません。

失敗する可能性のある最小限のステートメントが残るまで、SQL をより小さな断片に分割します。

構文エラーが飛び出してきて、額を平手打ちし、MySQL のバッドウェアをアンインストールして、代わりに postgreSQL を取得することに一歩近づきます。これにより、ユーザーはこのような腹立たしい一般的なエラーにさらされることはありません。

于 2014-01-11T08:36:33.630 に答える