2010-12-14 90 views
2

我想使用下面的代碼使用LOAD DATA LOCAL INFILE將數據加載到mysql表中。mysql加載數據本地infile

MySQL的:

LOAD DATA INFILE '/var/www/vhosts/domain.com/httpdocs/test1.csv' INTO TABLE temp_table FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (recloc,client_acc) 

編輯:改變LOAD DATA LOCAL INFILE到LOADA DATA INFILE,除去SET ID = NULL,加忽略1號線

我越來越沒有錯誤,沒有進口記錄。我相信這個問題與列名有關,但我很難完全理解這些名字應該是什麼。它們應該是CSV中的實際列名稱嗎?或數據庫表中的字段名稱?我還想要一個auto_incremented主鍵(id)。

CSV:

recloc,client_acc 
"NLGSX3","CORPORATE" 
"7SC3BA","QUALITY ASSURANCE" 
"3B9OHF","90717-6710" 

什麼,我可能做錯了什麼建議?謝謝!

回答

2

CSV中的列名不是必需的,所以您應該添加IGNORE 1 LINES子句。

查詢(recloc,client_acc)中的列需要匹配表中的列。 CSV的第一列將被插入到recloc中,第二列將被插入client_acc

如果您沒有在語句中指定AUTO_INCREMENT列,但表中有一列,它應該自動填充。爲Excel

+0

「忽略1號線」 中添加,刪除 「SET ID = NULL」,仍然沒有運氣。我也將CSV存儲在導入腳本的目錄中,但我也嘗試了服務器路徑。我不應該得到某種類型的mysql錯誤? – 2010-12-14 17:31:46

+0

經過更多的研究,我將LOAD DATA LOCAL INFILE更改爲LOAD DATA INFILE,因爲我使用的是存儲在服務器上的文件。 – 2010-12-14 18:18:51

0

簡短而親切的解決方案MySQL數據導入:

工作好TXT文件格式。 詳情:

tbl name=t1 
feilds are= name varchar,email varchar; 

的text.txt文件< < ==這個文本文件中第一行表的列名:

name, email 
"n1", "e1" next line 
"n2", "e2" next line 
"n3", "e3" next line 
"n4", "e4" next line 
"n5", "e5" next line 
"n6", "e6" next line 
"n7", "e7" next line 

請忽略下一行語句WAMP SQL查詢

LOAD DATA INFILE 'c:/wamp/www/touch/text.txt' INTO TABLE t1 FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES(name,email) 

爲了使這個commnad成功運行,我們創建了單獨的文件夾。

實一

C:\瓦帕\ MySQL的\數據\瓦帕\ WWW \觸摸\的text.txt < < ==身體屬性文件路徑。

但是我們提到C:/wamp/touch/text.txt

相關問題