ON DUPLICATE KEY UPDATE这个是看左耳听风提到幂等性,说insert的时候用这个方式会高效稳定。所以搜了些资料记录下备忘。

在insert语句后面带上ON DUPLICATE KEY UPDATE 子句,当要插入的行与表中现有记录的惟一索引或主键中产生重复值,则会更新该条数据;如果插入的行数据与现有表中记录的唯一索引或者主键不重复,则插入数据。

如果后面不跟值变动的语句,可以这样既可不变动值:

insert into daily_hit_counter (day, slot, cnt) values ('2017-11-19', 2, 1) ON DUPLICATE KEY UPDATE cnt = values(cnt);

参考资料:
https://blog.csdn.net/u010003835/article/details/54381080/
https://blog.csdn.net/plg17/article/details/78583692

Related Posts: MySQL中ON DUPLICATE KEY UPDATE的用法 :

avatar