mysql加载数据infile它包含的数据比输入列多

pan*_*016 6 mysql csv

我是mysql的新手,我尝试将csv文件加载到mysql.csv喜欢:

1,"a,b"
2,bc
3,d
Run Code Online (Sandbox Code Playgroud)

像这样的表:

create table test(ind varchar(10),var varchar(20));
Run Code Online (Sandbox Code Playgroud)

当我加载此csv文件时:

load data infile 'test.csv' into table test
fields terminated by ',' ;
Run Code Online (Sandbox Code Playgroud)

我改变了警告:

第1行被截断:它包含的数据多于输入列,我尝试这样做:

load data infile 'test.csv' into table test
fields terminated by ','
optionally enclosed by '"'
Run Code Online (Sandbox Code Playgroud)

它不起作用.

"a,b"的共同点导致此错误.但我不知道如何解决这个问题.

Tim*_*sen 15

听起来好像LOAD DATA没有正确地接受你的换行符.尝试添加LINES TERMINATED BY ...到您的通话中:

LOAD DATA INFILE 'test.csv' INTO TABLE test
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'         -- use '\n' if on Linux
(ind, var)
Run Code Online (Sandbox Code Playgroud)

通过上面的调用,MySQL不应该将第一个引用术语中的逗号"a,b"视为字段分隔符,而应该只是该列文本的一部分.