首页 >数据库 >mysql教程 >如何对多行使用 MySQL 的 ON DUPLICATE KEY UPDATE?

如何对多行使用 MySQL 的 ON DUPLICATE KEY UPDATE?

Linda Hamilton
Linda Hamilton原创
2025-01-11 08:14:42516浏览

How to Use MySQL's ON DUPLICATE KEY UPDATE for Multiple Rows?

使用 MySQL 的 ON DUPLICATE KEY UPDATE 高效处理多行

MySQL 提供了一种简化的方法来管理多行插入,同时检查和更新现有的唯一值。这是使用 ON DUPLICATE KEY UPDATE 子句完成的。 此功能允许在单个查询中进行有条件更新或插入特定字段。

要有选择地更新现有行并添加新行,请利用别名或 VALUES 关键字与 ON DUPLICATE KEY UPDATE 结合使用。

MySQL 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>

这些示例演示了如何根据现有的唯一键更新或插入数据。 如果唯一键已经存在,则更新指定字段;否则,将插入新行。 VALUES 关键字或别名 new 引用插入到 INSERT 语句中的值。

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

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