it编程 > 数据库 > Mysql

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

21人参与 2026-04-28 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 = ?

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

您想发表意见!!点此发布评论

推荐阅读

Windows内网环境离线安装MySQL数据库完整指南

04-28

MySQL事务定义、起源、版本支持与提交方式全面解析

04-28

MySQL8.0保姆级安装教程(含安装包获取方式)

04-28

MySQL安全加固十大可直接落地的硬核操作

04-28

MySQL远程访问配置与常见问题解决指南

04-28

MySQL中数据库备份恢复的常用方法详解

04-28

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论