我是mysql的新手,我尝试将csv文件加载到mysql。 csv喜欢:
1,"a,b"
2,bc
3,d
这样的表:
create table test(ind varchar(10),var varchar(20));
当我加载此csv文件时:
load data infile 'test.csv' into table test
fields terminated by ',' ;
我改变了这个 警告:
第1行被截断:它包含的数据多于输入列 我试试这个:
load data infile 'test.csv' into table test
fields terminated by ','
optionally enclosed by '"'
它没有用。
" a,b"导致此错误。但我不知道如何解决这个问题。
答案 0 :(得分:11)
听起来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)
通过上面的调用,MySQL不应该将第一个引用的术语"a,b"
中的逗号视为字段分隔符,而只是该列文本的一部分。