MySQL为我们解决了这个问题:我们可以通过 ON DUPLICATE KEY UPDATE 达到以上目的,且能保证操作的原子性和数据的完整性。
在DUPLICATE KEY UPDATE上可以达到以下目的:
向数据库中插入一条记录:
若该数据的主键值/ UNIQUE KEY已经在表中存在,则执行更新操作,即UPDATE后面的操作。
否则插入一条新的记录。
注意:执行批量插入时要使用values(字段名)函数,才可以解决主键冲突问题
insert intocartype(SynID,Update_time )
values
(3,'2015-12-02 03:00:00'),
(2,'2015-12-0222:22:22')
ON DUPLICATEKEY UPDATE
update_time=values(Update_time)
本文介绍MySQL中ON DUPLICATE KEY UPDATE的功能与使用方法,通过这一特性可以在插入数据时遇到主键冲突自动更新,确保操作的原子性和数据完整性。
1714

被折叠的 条评论
为什么被折叠?



