Mysql CSV导入-最后一个字段存在问题
这是csv数据的外观:Mysql CSV导入-最后一个字段存在问题,mysql,csv,Mysql,Csv,这是csv数据的外观: "COUNTRY_ALPHA2_CODE","COUNTRY_NUMERIC_CODE","COUNTRY_NAME","REGION_CODE","REGION_NAME" "AD","020","Andorra","02","Canillo" "AD","020","Andorra","03","Encamp" "AD","020","Andorra","04","La Massana" "AD","020","Andorra","05","Ordino" 当我尝试
"COUNTRY_ALPHA2_CODE","COUNTRY_NUMERIC_CODE","COUNTRY_NAME","REGION_CODE","REGION_NAME"
"AD","020","Andorra","02","Canillo"
"AD","020","Andorra","03","Encamp"
"AD","020","Andorra","04","La Massana"
"AD","020","Andorra","05","Ordino"
当我尝试使用以下代码导入它时:
LOAD DATA LOCAL INFILE 'COUNTRIES.CSV'
INTO TABLE countries
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
select * from countries;
我在最后一个字段上得到了非常奇怪的行为,就好像它在寻找最后一个字段中有逗号一样
+-------------------------+---------------------+---------------------+----------------------+
| COUNTRY_NAME | COUNTRY_ALPHA2_CODE | COUNTRY_ALPHA3_CODE | COUNTRY_NUMERIC_CODE |
+-------------------------+---------------------+---------------------+----------------------+
| Afghanistan | AF | AFG | 004"
"Ant |
| Anguilla | AI | AIA | 660"
"Alb |
| Aland Islands | AX | ALA | 248"
"Aze |
| Andorra
我查看了CSV导入的示例,数据的格式似乎相同,结尾没有逗号。不确定如何告诉mysql最后一个字段将没有逗号。好的,使用“行终止于”并删除“转义于”完成了以下操作:
LOAD DATA LOCAL INFILE 'COUNTRIES.CSV'
INTO TABLE countries
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;
返回
+-----------------+---------------------+---------------------+----------------------+
| COUNTRY_NAME | COUNTRY_ALPHA2_CODE | COUNTRY_ALPHA3_CODE | COUNTRY_NUMERIC_CODE |
+-----------------+---------------------+---------------------+----------------------+
| Aruba | AW | ABW | 533 |
| Afghanistan | AF | AFG | 004 |
| Angola | AO | AGO | 024 |
| Anguilla | AI | AIA | 660 |
请尝试不使用“”转义,这是解决方案的一部分,请参见下面。谢谢!