在将表导入MySQL时,如何转义CSV值中的逗号?

在将表导入MySQL时,如何转义CSV值中的逗号?,mysql,database,csv,import,Mysql,Database,Csv,Import,我正在尝试将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",

我正在尝试将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...
如您所见,字段用双引号括起来,并用逗号分隔。但是,有些行的值中有逗号,如(请注意最后一个值):

以下是我的导入语句的外观:

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使其正常工作?

从中,使用以下选项:

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

更新以匹配您的使用情况,但重要的是从存储过程中的
中删除
(可选)
(可选)

中的
(可选)
,因为
加载数据
在SPs中是不允许的,因此如何在存储过程中实现这一点?在以“\r\n”节结尾的行中添加\r使其对我有效!谢谢
LOAD DATA INFILE 'data.txt' INTO TABLE tbl_name
  FIELDS TERMINATED BY ',' ENCLOSED BY '"'
  LINES TERMINATED BY '\r\n'