insert into on DUPLICATE KEY UPDATE使用
2017-06-09 11:06
351 查看
insert into on DUPLICATE KEY UPDATE使用
如题。在插入数据库的时候经常遇到的是主键冲突之后,进行update操作。下面介绍一个mysql自带的方式进行这种操作。
insert into a(c1,c2,c3,id) values(3,4,5,'f042fa40cd2a4db6b49994ea084e8dc0') on DUPLICATE KEY UPDATE c1=VALUES(c1),c2=VALUES(c2),c3=VALUES(c3); SELECT * from a;
有一张表a,主键是id。我们进行插入操作,如果id中重复的话,就更新c1,c2,c3字段。
然后,我们再次执行上面的语句,但是我们更新了c1,c2,c3的值。
insert into a(c1,c2,c3,id) values(99,100,101,'f042fa40cd2a4db6b49994ea084e8dc0') on DUPLICATE KEY UPDATE c1=VALUES(c1),c2=VALUES(c2),c3=VALUES(c3); SELECT * from a;
执行后的效果如图:
同样的,我们也可以在遇到主键冲突的时候操作插入时的值。比如:
insert into a(c1,c2,c3,id) values(99,100,101,'f042fa40cd2a4db6b49994ea084e8dc0') on DUPLICATE KEY UPDATE c1=VALUES(c1) +1,c2=VALUES(c2) + 2,c3=VALUES(c3) +3; SELECT * from a;
执行后的结果如下:
同时,这里也支持批量写入功能。
insert into a(c1,c2,c3,id) values(99,100,101,'f042fa40cd2a4db6b49994ea084e8dc0'),(1,2,3,'e3b223bee17b4b7a820c76520fe98e5e') on DUPLICATE KEY UPDATE c1=VALUES(c1),c2=VALUES(c2),c3=VALUES(c3); SELECT * from a;
执行后的结果如下:
相关文章推荐
- Mysql中Insert into xxx on duplicate key update和REPLACE INTO使用
- insert into on duplicate key update与update inner join使用效果对比分析
- mysql 中 replace into 与 insert into on duplicate key update 的使用和不同点
- 有关sql语句INSERT INTO ..ON DUPLICATE KEY UPDATE..的详解
- REPLACE INTO 与 INSERT ... ON DUPLICATE KEY UPDATE
- [原] insert into … on duplicate key update / replace into 多行数据
- Mysql中“Insert into xxx on duplicate key update”问题
- MySQL的Replace into 与Insert into ..... on duplicate key update
- SQL语句实现不存在即插入,存在则increase某字段的功能insert into … on duplicate key update
- MySQL的Replace into 与Insert into ..... on duplicate key update ...真正的不同之处
- MySQL的Replace into 与Insert into ..... on duplicate key update ...真正的不同之处
- mysql 中使用INSERT ... ON DUPLICATE KEY UPDATE(insert ignore)
- insert into … on duplicate key update / replace into 多行数据介绍
- MySql中Insert into xxx on duplicate key update
- MySQL中insert ignore into, on duplicate key update,replace into,insert … select … where not exist的一些用法总结
- Mysql中Insert into xxx on duplicate key update问题
- MySQL的Replace into 与Insert into ..... on duplicate key update ...真正的不同之处
- Mysql中Insert into xxx on duplicate key update
- Mysql replace into 与 insert into on duplicate key update 的区别
- (转载)[MySQL技巧]INSERT INTO… ON DUPLICATE KEY UPDATE