SQL中replace用法

在 SQL 中,REPLACE INTO 语句的作用是先尝试插入一条新记录。如果插入的记录与表中已有的记录(根据主键或唯一索引进行匹配)有冲突,则会删除冲突的记录,并用新的记录替换掉它。

换句话说,REPLACE INTO 可以防止重复插入相同的记录。它的作用类似于先删除再插入,从而确保每次插入的记录是唯一的。

新增示例:

xml 复制代码
    <insert id="insertTest">
        replace into test_user (id, name, manager_id, salary, age, depart_id, remark, province, content)
        values
        (#{id}, #{name}, #{managerId}, #{salary}, #{age}, #{departId}, #{remark}, #{province}, #{content})
    </insert>

从上面操作可以看出:

第一次:id = 3 的记录不存在,直接插入新记录。Updates: 1

第二次:id = 3 的记录已经存在,它将被删除并用新插入的记录替换。Updates: 2

注意事项:

  1. REPLACE INTO 依赖于表的 主键 或 唯一索引 来判断是否已有重复记录。
  2. 如果存在重复的记录,它会删除并插入新记录,这可能会导致删除和重新插入的性能开销。
  3. 它不会简单地忽略重复记录,而是会删除旧记录再插入新的记录。
相关推荐
想学习java初学者1 分钟前
SpringBoot整合GS1编码解码
java·spring boot·后端
日月云棠2 分钟前
2 快速入门实战指南
java·后端
日月云棠3 分钟前
3 Dubbo 2.7 高级配置:检查控制、版本策略与协议选择
java·后端
砍材农夫9 分钟前
物联网 基于netty构建mqtt协议规范(主题通配符订阅)
java·前端·javascript·物联网·netty
liudanzhengxi10 分钟前
巧用ULN2003A轻松扩展单片机IO口
数据库·mongodb
掉鱼的猫12 分钟前
用 Solon AI 从零构建 MCP 工具服务:让 AI Agent 拥有真实世界的能力
java·llm·mcp
日月云棠12 分钟前
1 分布式架构演进与Dubbo框架入门
java·后端
Teable任意门互动17 分钟前
深度解析:AI 赋能开源多维表格,实现企业全场景数据整合与高效应用
数据库·人工智能·低代码·信息可视化·开源·数据库开发
_日拱一卒18 分钟前
LeetCode:114二叉树展开为链表
java·开发语言·算法