我有一个名为“table1”的表,其中包含以下列:
CSMembers、BCID、总计、电子邮件。
Excel 工作表包含此表的数据,格式如下:
CSMembers BCID Total Email
abc 2,5,7,9,12,17,22,32 10,000 abc@gmail.com
xyz 1,3,5,7,9,12,17,20,22,33 12,500 xyz@gmail.com
pqr 2,5,7,9,12,17,22,32 11,000 pqr@gmail.com
ttt 2,5,7,9,12,17,22 9,800 ttt@gmail.com
其 .csv 文件是:
CSMembers,BCID,Total,Email
abc,"2,5,7,9,12,17,22,32","10,000",abc@gmail.com
xyz,"1,3,5,7,9,12,17,20,22,33","12,500",xyz@gmail.com
pqr,"2,5,7,9,12,17,22,32","11,000",pqr@gmail.com
ttt,"2,5,7,9,12,17,22","9,800",ttt@gmail.com
我使用了以下代码:
load data local infile 'H:/abc.csv' into table table1
fields terminated by ','
optionally enclosed by '"'
lines terminated by '\n' ignore 1 lines
(CSMembers,BCID,Total,Email);
我得到以下输出:
CSMember BCID Total Email
abc 2 10 abc@gmail.com
xyz 1 12 xyz@gmail.com
pqr 2 11 pqr@gmail.com
ttt 2 9 ttt@gmail.com
但我需要这个输出:
CSMembers BCID Total Email
abc 2,5,7,9,12,17,22,32 10,000 abc@gmail.com
xyz 1,3,5,7,9,12,17,20,22,33 12,500 xyz@gmail.com
pqr 2,5,7,9,12,17,22,32 11,000 pqr@gmail.com
ttt 2,5,7,9,12,17,22 9,800 ttt@gmail.com
谁能告诉我出了什么问题吗? 我是否应该更改代码或 csv 文件内容或两者? 请帮忙。
最佳答案
您的表架构可能是错误的bcid并且total可能被定义为某种int而不是字符串。数字字段不知道逗号是否是另一个字段的分隔符,或者只是将数字分开以便于读取。此外,数字字段的输入通常接受第一个非数字字符之前的值,即逗号
关于mysql - 使用 MySQL 加载字段中包含多个逗号的 .csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20115304/