目标:我必须将CSV文件导入MySQL服务器 问题:只有第一行正在插入,并且输入错误也是如此。
我的csv文件的共振峰为:
lifelock,LifeLock,,web,Tempe,AZ,1-May-07,6850000,USD,b
lifelock,LifeLock,,web,Tempe,AZ,1-Oct-06,6000000,USD,a
lifelock,LifeLock,,web,Tempe,AZ,1-Jan-08,25000000,USD,c
mycityfaces,MyCityFaces,7,web,Scottsdale,AZ,1-Jan-08,50000,USD,seed
flypaper,Flypaper,,web,Phoenix,AZ,1-Feb-08,3000000,USD,a
查询创建sql表:
create table fund(permalink varchar(20), company varchar(20), numEmps int, category varchar(15),
city varchar(20),state varchar(15),fundedDate Date,raisedAmt int, raisedCurrency longtext,round longtext);
查询导入CSV文件:
load data infile '/var/lib/mysql-files/TechCrunchcontinentalUSA.csv' into table fund fields terminated by ','
lines terminated by '\n' (permalink, company, @numEmps , category , city ,state, @funded, @raised, raisedCurrency ,round )
set numEmps=cast(@emps as unsigned), raisedAmt = cast(@raised as unsigned), fundedDate =STR_TO_DATE(@funded, '%d-%b-%Y') ;
Is your primary key set to
AUTO_INCREMENT
? Also, check if your CSV file has newline separator for each line. Sometimes, csv column data can be too big to fit in to your defined db column. You can always validate your csv using this online tool (make sure you don't have any sensitive data as it is a third party tool)另外,如果您的csv文件和表名称相同,也可以尝试以下操作:
Provide username and passwords flags
-uroot -proot
if you have one setup.