IT俱乐部 MySql Mysql覆盖表中重复记录的两种实现方式

Mysql覆盖表中重复记录的两种实现方式

replace into 方式

前提条件

表中必须有主键或者唯一索引。

原理

根据主键或唯一索引找到相同主键的数据,然后删除原先的数据,再添加新的数据。

如果表中没有相同的主键或唯一索引,则相当于insert into。

使用案例

# topic、partition、groupid是主键
replace into t_offset (`topic`, `partition`, `groupid`, `offset`) values(?,?,?,?)")

ON DUPLICATE KEY UPDATE 方式

前提条件

表中必须有主键或者唯一索引。

原理

根据主键或唯一索引找到相同主键的数据,然后执行update更新操作。

如果表中没有相同的主键或唯一索引,则相当于insert into。

使用案例

# userid是主键
insert into black_list(userid) value (?)
on DUPLICATE KEY
UPDATE userid = ?

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT俱乐部。

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/database/mysql/18082.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部