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

 更新时间:2026年04月28日 11:09:22   作者:程序员阿伟  
replaceinto和onduplicatekeyupdate这两种方式都需要表中存在主键或者唯一索引,前者会先删除再插入,后者则直接更新,如果没有主键或唯一索引,则两者都相当于insertinto操作

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 = ?

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 21个MySQL索引优化实战技巧分享

    21个MySQL索引优化实战技巧分享

    MySQL索引优化是提升数据库性能的关键手段,一个合理的索引设计和使用策略,往往能将查询速度提升几十倍甚至上百倍,本文总结了21个MySQL索引优化的实战技巧,有需要的可以了解下
    2025-05-05
  • Win2008 R2 mysql 5.5 zip格式mysql 安装与配置

    Win2008 R2 mysql 5.5 zip格式mysql 安装与配置

    这篇文章主要介绍了Win2008 R2 mysql 5.5 zip格式mysql 安装与配置,需要的朋友可以参考下
    2017-06-06
  • 修改MySQL的默认密码的四种小方法

    修改MySQL的默认密码的四种小方法

    对于windows平台来说安装完MySQL后,系统就已经默认生成了许可表和账户,下文中就教给大家如何修改MySQ的默认密码。
    2015-09-09
  • 浅析MySQL实现数据迁移与备份恢复的详细指南

    浅析MySQL实现数据迁移与备份恢复的详细指南

    作为从 SQLServer 转向 MySQL 的运维人员,理解 MySQL 的数据迁移和恢复机制至关重要,下面将系统介绍 MySQL 的数据迁移技术、备份恢复策略以及底层存储原理,特别针对 Docker+Linux 环境下的运维实践
    2025-06-06
  • 利用pt-heartbeat监控MySQL的复制延迟详解

    利用pt-heartbeat监控MySQL的复制延迟详解

    这篇文章主要给大家介绍了利用pt-heartbeat监控MySQL的复制延迟的相关资料,文中详细介绍了pt-heartbeat、监控原理以及安装过程等的相关内容,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • mysql的计划任务与事件调度实例分析

    mysql的计划任务与事件调度实例分析

    这篇文章主要介绍了mysql的计划任务与事件调度,结合实例形式分析了mysql计划任务与事件调度相关概念、原理、用法与操作注意事项,需要的朋友可以参考下
    2019-12-12
  • MySQL中SQL模式的特点总结

    MySQL中SQL模式的特点总结

    这篇文章主要给大家总结介绍了关于MySQL中SQL模式特点的相关资料,文章介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • MySQL 原理与优化之Update 优化

    MySQL 原理与优化之Update 优化

    这篇文章主要介绍了MySQL 原理与优化之Update 优化,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-08-08
  • Windows server 2008 r2上安装MySQL5.7.10步骤

    Windows server 2008 r2上安装MySQL5.7.10步骤

    这篇文章主要介绍了Windows server 2008 r2上安装MySQL5.7.10的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • MySQL重复数据提取最新一条技术方法详解

    MySQL重复数据提取最新一条技术方法详解

    在MySQL数据库中清除重复数据是一项常见的任务,下面这篇文章主要给大家介绍了关于MySQL重复数据提取最新一条的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-07-07

最新评论