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

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

Susan Sarandon
Susan Sarandon原创
2025-01-11 07:14:42714浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn