我是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"视为字段分隔符,而应该只是该列文本的一部分.