2011-08-11 5 views
1

テキストファイルからいくつかのデータをmysqlにロードしようとしています。私は最初の行を無視したいと思います。mysqlにデータを読み込むと、最初の行は無視されます

mysql 5.5のマニュアルには、「1行無視」オプションがあります。

私は無駄にこのクエリを使用して試してみました:

LOAD DATA LOCAL INFILE 'iso-languagecodes.txt' INTO TABLE iso_languagecodes (iso_639_3, iso_639_2, iso_639_1, language_name) IGNORE 1 LINES; 

誰が間違っているものを指摘することはできますか?

これは、私は、次の2つのクエリが動作します

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 ' IGNO 
RE 1 LINES' at line 1 

を受け付けておりますエラーです:

LOAD DATA LOCAL INFILE 'iso-languagecodes.txt' INTO TABLE iso_languagecodes (iso_639_3, iso_639_2, iso_639_1, language_name); 

または

LOAD DATA LOCAL INFILE 'iso-languagecodes.txt' INTO TABLE iso_languagecodes IGNORE 1 LINES; 

をしかし、私が指定できるようにする必要があります最初の行は無視します。

+1

は「...無駄に」 - 問題は何ですか?クエリは実行されますか?レコードをインポートしますか?最初の行をインポートしますか? –

+0

あなたは/これらの行の区切り方を指定してはいけませんか?たとえば、FIELDS TERMINATED BY '、'を追加します。 – Icarus

答えて

2

のための「\ tを」を使用し、ここでの最終的な解決策である:

LOAD DATA LOCAL INFILE 'iso-languagecodes.txt' INTO TABLE iso_languagecodes IGNORE 1 LINES (iso_639_3, iso_639_2, iso_639_1, language_name); 
1

これを試してみてください:

LOAD DATA LOCAL INFILE 'iso-languagecodes.txt' INTO TABLE iso_languagecodes (iso_639_3, iso_639_2, iso_639_1, language_name) FIELDS TERMINATED BY ',' IGNORE 1 LINES; 

を交換してください「」どんな区切り文字のために、あなたのファイルで使用しています。タブ興味のある方のために

+0

このメソッドでエラーが発生しています:ERROR 1064(42000):SQL構文にエラーがあります。 があなたのMySQLサーバのバージョンに対応していることを確認してください。正しい構文は、 'FIELD S' TERMINATED BY '1行目を無視してください。 – F21

+0

@phpdev mysqlからエラーメッセージをそのままコピーして貼り付けたコンソール、単語FIELD Sに余分なスペースがあることに注意してください。正しく入力しましたか?それはフィールドではなく、フィールドであるはずですS – Icarus

+0

ただ二重にチェックされ、ステートメントが正しく入力されましたが、まだエラーを取得しています。区切り文字なしでクエリを実行できるときに、区切り記号が必要な理由はわかりませんが。 – F21

関連する問題