MYSQL LOAD DATA INFILE忽略重复行(自动增量作为主键)
作者:互联网
我使用LOAD DATA INFILE命令遇到了一些麻烦,因为我想忽略已经在数据库中的行…如果我有一个包含数据的表,如下所示,
id |name |age
--------------------
1 |aaaa |22
2 |bbbb |21
3 |bbaa |20
4 |abbb |22
5 |aacc |22
其中id是自动增量值.我所拥有的csv文件包含如下数据,
"cccc","14"
"ssee","33"
"dddd","22"
"aaaa","22"
"abbb","22"
"dhgg","34"
"aacc","22"
我想忽略行,
"aaaa","22"
"abbb","22"
"aacc","22"
并将其余内容上传到表格中.我已经将所有内容上传到表中的查询如下,
LOAD DATA INFILE 'member.csv'
INTO TABLE tbl_member
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
(name, age);
请帮助我完成这项任务..将非常感谢..我试过很多链接,但没有帮助:(
解决方法:
在年龄列上创建一个UNIQUE索引,然后:
LOAD DATA INFILE 'member.csv'
IGNORE INTO TABLE tbl_member
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
(name, age);
标签:load-data-infile,mysql,csv 来源: https://codeday.me/bug/20190928/1827937.html