您的位置:首页 > 其它

批量插入记录,遇到重复记录则为自动更新

2016-01-22 10:50 281 查看
<span style="font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体;"><strong>在插入大量数据时可能同时遇到两个问题:</strong></span>


如果每条更新执行一次sql性能很低,也容易造成阻塞;

批量插入时又有可能遇到主键 或者 唯一索引重复的问题,导致整个批量插入失败

使用 ON DUPLICATE KEY UPDATE 一条sql解决批量插入和主键或者唯一索引重复问题

举例如下:

表结构如下:

create table mytable(
id int not null,
code char(6) not null,
description char(50) null,
number int not null,
name char(50) not null,
primary key id,
unique key uk_mytable_code (code));


批量插入如下:

INSERT INTO mytable(id, code, description, number, name)
VALUES (?,?,?,?,?),(?,?,?,?,?),(?,?,?,?,?)
ON DUPLICATE KEY UPDATE description = VALUES(description), number = VALUES(number)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: