2013-11-21 47 views
0

文件我有一個名爲「table1的」同列的表:裝載的.csv與多個逗號在現場使用MySQL

CSMembers,BCID,道達爾,電子郵件。

Excel工作表中包含的數據此表的格式如下:

 CSMembers  BCID     Total   Email 
     abc 2,5,7,9,12,17,22,32  10,000  [email protected] 
     xyz 1,3,5,7,9,12,17,20,22,33 12,500  [email protected] 
     pqr 2,5,7,9,12,17,22,32  11,000  [email protected] 
     ttt 2,5,7,9,12,17,22   9,800  [email protected] 

的這個.csv文件是:

CSMembers,BCID,Total,Email 
abc,"2,5,7,9,12,17,22,32","10,000",[email protected] 
xyz,"1,3,5,7,9,12,17,20,22,33","12,500",[email protected] 
pqr,"2,5,7,9,12,17,22,32","11,000",[email protected] 
ttt,"2,5,7,9,12,17,22","9,800",[email protected] 

我已經使用以下代碼:

load data local infile 'H:/abc.csv' into table table1 
fields terminated by ',' 
optionally enclosed by '"' 
lines terminated by '\n' ignore 1 lines 
(CSMembers,BCID,Total,Email); 

我收到以下輸出:

CSMember BCID Total  Email 
abc   2  10  [email protected] 

xyz   1  12  [email protected] 

pqr   2  11  [email protected] 

ttt   2  9  [email protected] 

但我需要這樣的輸出:

CSMembers BCID     Total   Email 
    abc 2,5,7,9,12,17,22,32  10,000  [email protected] 
    xyz 1,3,5,7,9,12,17,20,22,33 12,500  [email protected] 
    pqr 2,5,7,9,12,17,22,32  11,000  [email protected] 
    ttt 2,5,7,9,12,17,22   9,800  [email protected] 

誰能告訴我什麼是錯的? 如果我應該更改代碼或csv文件內容或兩者? plese幫助。

回答

1

您的表結構可能是錯誤的BCID很可能定義爲某種而不是字符串一個int。數字字段不會知道逗號是否是另一個字段的分隔符,或者只是簡單地將數字分開以便易於閱讀。同時輸入到數字字段通常會接受值,直到第一個非數字字符,即逗號

+0

非常感謝您的幫助。 :) – niki

+0

對於整個字段,應該可以導出一個CSV文件,該文件不會在數字中輸入逗號。 – vogomatix

+1

固定'Total'列的另一種方法是使用'LOAD DATA INFILE'的'SET'子句加載數據時刪除逗號。 – peterm