首页 > 数据库 > mysql教程 > 如何在 MySQL 中使用 ON DUPLICATE KEY UPDATE 执行批量插入?

如何在 MySQL 中使用 ON DUPLICATE KEY UPDATE 执行批量插入?

Susan Sarandon
发布: 2025-01-11 07:14:42
原创
711 人浏览过

How to Perform Bulk Inserts with ON DUPLICATE KEY UPDATE in MySQL?

MySQL批量插入及ON DUPLICATE KEY UPDATE详解

在MySQL中同时插入多行数据时,您可能需要检查唯一键是否存在重复值,并根据情况进行更新或插入操作。

为此,您可以使用ON DUPLICATE KEY UPDATE子句。然而,对于多行数据,其实现方式取决于您的MySQL版本。

MySQL 8.0.19及以上版本

对于8.0.19及以上版本,您可以使用别名来标识要更新的行:

<code class="language-sql">INSERT INTO beautiful (name, age)
VALUES
  ('Helen', 24),
  ('Katrina', 21),
  ('Samia', 22),
  ('Hui Ling', 25),
  ('Yumie', 29)
AS new
ON DUPLICATE KEY UPDATE
  age = new.age
  ...</code>
登录后复制

MySQL 8.0.19以下版本

对于早期版本,您可以使用VALUES关键字来指定要更新行的值:

<code class="language-sql">INSERT INTO beautiful (name, age)
VALUES
  ('Helen', 24),
  ('Katrina', 21),
  ('Samia', 22),
  ('Hui Ling', 25),
  ('Yumie', 29)
ON DUPLICATE KEY UPDATE
  age = VALUES(age),
  ...</code>
登录后复制

通过以上方法,您可以使用单个查询执行批量更新或插入操作,确保数据完整性,在必要时更新现有行并插入新行。

以上是如何在 MySQL 中使用 ON DUPLICATE KEY UPDATE 执行批量插入?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板