在MySQL中同时插入多行数据时,您可能需要检查唯一键是否存在重复值,并根据情况进行更新或插入操作。
为此,您可以使用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>
对于早期版本,您可以使用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中文网其他相关文章!