2012-11-06 34 views
3

我想導入CSV使用LOAD DATA INFILE文件到我的MySQL表:這裏是我當前的代碼:mysql的LOAD DATA INFILE忽視1線不工作

LOAD DATA INFILE '../myfile.csv' 
      INTO TABLE data 
     FIELDS 
      TERMINATED BY ',' 
      ENCLOSED BY '"' 
      ESCAPED BY '"' 
LINES TERMINATED BY '\n' IGNORE 1 LINES (@f1,@f2...) set `f1`[email protected],...,fk=13 ; 

這是CSV文件的第一部分:

Timestamp,FromName,FromID,FromA,FromAID,FromURL,ToCName,ToCID,ToCTarget,ToAName,ToAID,ToAURL,UUID,Model,OS,Country,Type,Value 
"2012-10-29 07:02:20","NH","4f7898654fgh02","Halloween Game","589754hj67d00021","78643609","","","","Game 1™","4f754hj67d00014","58975449","988675ffgh555f3284530","iPhone","5.1.1","GB","cpi","0.5" 

這給我一個0行插入的,但如果我更換IGNORE 1 LINES與IGNORE 0 LINES文件被成功導入(當然,而不忽略的第一行)。

任何幫助表示讚賞。

+2

它不是關於這個問題的足夠信息。還要添加文件'myfile.csv'。 – Devart

+0

我編輯了這個問題,我希望這樣更清楚。 – joprog

+0

我沒有看到任何問題。加載數據期間是否發生錯誤? – Devart

回答

1

刪除此行解決了這個問題:

ESCAPED BY '"' 

工作代碼:

LOAD DATA INFILE '../myfile.csv' 
      INTO TABLE data 
     FIELDS 
      TERMINATED BY ',' 
      ENCLOSED BY '\"' 
LINES TERMINATED BY '\n' IGNORE 1 LINES (@f1,@f2...) set `f1`[email protected],...,fk=13 ; 
+4

你是否明白_爲什麼它解決了這個問題?如果你在CSV中的一個字段值中有''',那麼這種方法是否仍然有效?爲什麼你需要'ENCLOSED BY'\「''而不是'ENCLOSED BY'''''? –