mysql中[ON DUPLICATE KEY UPDATE]使
2020-12-06 本文已影响0人
DragonersLi
测试表结构
新建一个test表,字段有ID,mobile,count,create_time,update_time 当我们执行insert插入数据时会提示Affected rows: 3, Time: 0.094000s,同样数据再次执行会提示1062 - Duplicate entry '1' for key 'PRIMARY', Time: 0.133000s
insert into test (id,mobile,count,create_time)
values
(1,'18888880000',1,1595555555),
(2,'18888880001',2,1595555555),
(3,'18888880002',3,1595555555);
Mysql提示主键冲突,可不可以改变一下思路,当插入已存在主键的记录时,将插入操作变为修改?
insert into test (id,mobile,count,create_time)
values
(1,'18888880000',1,1595555555),
(2,'18888880001',2,1595555555),
(3,'18888880002',3,1595555555)
on duplicate key update count =count + values(count),update_time = values(create_time);