无名阁,只为技术而生。流水不争先,争的是滔滔不绝。

【数据库开发】MySQL插入数据的利器 – on duplicate key update基本用法详解

mysql dancy 8个月前 (04-30) 180次浏览 已收录 扫描二维码
文章目录[隐藏]
【数据库开发】MySQL插入数据的利器 - on duplicate key update基本用法详解

ON DUPLICATE KEY UPDATE

【数据库开发】MySQL插入数据的利器 – on duplicate key update基本用法详解

作为一名数据库开发人员,我时常遇到这样的需求 – 向数据库中插入数据,如果遇到主键或唯一键冲突,就执行更新操作。这在日常开发中非常常见,比如电商网站的商品SKU管理、用户登录信息管理等等。

对于这种需求,MySQL提供了一个非常强大的语法 – on duplicate key update。今天,就让我为大家全面解析这个”黑科技”,相信通过学习,你一定能游刃有余地解决各种”插入或更新”的业务需求。

基本用法

我们先从最基础的用法开始。假设有一个商品表products,主键是id列。现在我们需要插入一条新的商品记录:

INSERT INTO products (id, name, price)
VALUES (1, 'Product A', 9.99)
ON DUPLICATE KEY UPDATE price = 9.99;

这个SQL语句的意思是:

  1. 首先尝试插入id=1的商品记录。
  2. 如果插入成功(也就是id=1这个主键不存在),那就直接插入这条新记录。
  3. 如果插入失败(也就是id=1这个主键已经存在),那就执行UPDATE price = 9.99来更新这条记录的价格。

这就是ON DUPLICATE KEY UPDATE最基本的用法。它让我们在一条SQL语句中,既可以完成插入操作,又可以完成更新操作,大大简化了业务实现。

点击展开
喜欢 (0)
[]
分享 (0)
关于作者: