2011-12-12 16 views
9

我想將一個CSV文件導入到MySQL數據庫表中。 CSV行如下所示:如何在將表格導入MySQL時在CSV值內轉義逗號?

"00602"," ","42042","15590","0","0","0","35","9","67","1978","20608","21434","3.1","54700","11384","31.3","30.4","32","18.382809","-67.186759","0","PR","Puerto Rico","U","","787","AGUADA","URB SAN CRISTOBAL","AGUADA","003","72","4","N","0060","","","10380","","Metro","Aguadilla-Isabela-San Sebastián PR","Aguadilla PR MSA","","","","N","0","0","0","0","","0","0","0","0","0","322569","0","","","5456","415","9577","V17136"," "," ","","" 
"00602"," ","42042","15590","0","0","0","35","9","67","1978","20608","21434","3.1","54700","11384","31.3","30.4","32","18.382809","-67.186759","0","PR","Puerto Rico","U","","787","AGUADA","COMUNIDAD LAS FLORES","AGUADA","003","72","4","N","0060","","","10380","","Metro","Aguadilla-Isabela-San Sebastián PR","Aguadilla PR MSA","","","","N","0","0","0","0","","0","0","0","0","0","322569","0","","","5456","415","9577","V17136"," "," ","","" 

etc... 

正如您所看到的,這些字段用雙引號引起來,並用逗號分隔。然而,一些行有像這樣的數值內逗號(注意最後一個值):

"00501"," ","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","40.81518","-73.0455","25","NY","New York","N","","631","HOLTSVILLE","I R S SERVICE CENTER","SUFFOLK","103","36","5","Y","5602","5380","408","35620","35004","Metro","New York-Northern New Jersey-Long Island NY-NJ-PA","New York-Northern New Jersey-Long Island","Nassau-Suffolk, NY PMSA","Northeast","Middle Atlantic","N","7","0","0","0","B","0","0","0","0","0","18640775","2807500","","","0","1","1","V13916","U"," ","New York-Newark-Bridgeport, NY-NJ-CT-PA","Nassau-Suffolk, NY" 

這是我的import語句看起來像:

LOAD DATA INFILE '/file.csv' 
REPLACE INTO TABLE zipcodes 
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\n'; 

但預期它不工作。例如,第一插入的行與下述值的列:

Nassau-Suffolk, NY""00501 

代替它應該是:

Nassau-Suffolk, NY 

00501應該被插入作爲下一行的第一列的值。

如何調整我的SQL以正常工作?

回答

16

MySQL Reference Manual,使用下面的選項,而不是:

LOAD DATA INFILE 'data.txt' INTO TABLE tbl_name 
    FIELDS TERMINATED BY ',' ENCLOSED BY '"' 
    LINES TERMINATED BY '\r\n' 

更新,以符合您的使用,但重要的部分是從OPTIONALLY ENCLOSED BYOPTIONALLY

+0

謝謝,作品完美。 – TKpop

+0

因爲在SP中不允許'LOAD DATA',所以我們如何在存儲過程中實現這一點? – Sawant

相關問題