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