2012-11-26 119 views
7

嘗試讓MySQL在通過INFILE命令導入時忽略特定行。基本上,它是CSV文件中的「標題」行。MySQL infile忽略標題行

LOAD DATA LOCAL INFILE 'C:\myfile.txt' REPLACE INTO TABLE my_db.my_table; 

我查看了ignore命令,但這是爲了忽略重複鍵。有沒有辦法忽略.txt文件中的特定條目/行?

回答

10

IGNORE具有在LOAD DATA INFILE聲明兩層含義。 第一個是在重複鍵錯誤時替換/忽略。 第二個含義是你正在尋找的那個。完整的語句是IGNORE n LINES

您不能跳過一個隨機線,但你可以在你inputfile的像這樣的頭跳過n行:

LOAD DATA LOCAL INFILE 'C:\myfile.txt' REPLACE INTO TABLE my_db.my_table IGNORE 1 LINES; 

這將忽略前5行,在哪裏結束行EOL默認爲\n,可以設置爲任何字符使用LINES TERMINATED BY 'CHR'

+0

因此,如果它是'IGNORE 5 LINES',它會忽略第5行還是會忽略前5行? – Plummer

+0

這將忽略前5行,其中行尾(EOF)默認爲「\ n」並且可以使用'LINES TERMINATED BY'CHR'設置爲任何字符。' –

+0

非常有幫助,謝謝。 – Plummer

6

將此選項添加到您的語句:

IGNORE 1 LINES 
+0

我喜歡這個答案,非常簡單。 – caiosm1005