首页 > 数据库 > mysql教程 > 如何在插入期间使用 MySQL 的 ON DUPLICATE KEY UPDATE 更新现有行?

如何在插入期间使用 MySQL 的 ON DUPLICATE KEY UPDATE 更新现有行?

Mary-Kate Olsen
发布: 2024-11-30 02:30:13
原创
626 人浏览过

How to Update Existing Rows During an INSERT Using MySQL's ON DUPLICATE KEY UPDATE?

使用“INSERT INTO ... SELECT FROM ... ON DUPLICATE KEY UPDATE”

当使用 MySQL 执行插入操作时,它如果发生唯一键冲突,可以更新现有行。这可以使用“INSERT INTO ... SELECT FROM ... ON DUPLICATE KEY UPDATE”语法来实现。

在给定的查询中,旨在从临时表('tmp')插入​​行进入“lee”表。如果“lee”中已存在具有相同唯一键(在本例中为“id”)的行,则查询应将特定列更新为“tmp”表中的值。

UPDATE 的语法此场景中的子句如下:

ON DUPLICATE KEY UPDATE column1=SELECT_column1, column2=SELECT_column2, ...
登录后复制

这里,“column1”指的是“lee”表中的列,“SELECT_column1”指的是引用 SELECT 子句中的相应列。通过指定这些对,MySQL 确定使用 SELECT 中的新值更新哪些列。

对于提供的查询,UPDATE 子句将如下所示:

ON DUPLICATE KEY UPDATE entct=t.entct, inact=t.inact, inadur=t.inadur, inadist=t.inadist, smlct=t.smlct, smldur=t.smldur, smldist=t.smldist, larct=t.larct, lardur=t.lardur, lardist=t.lardist, emptyct=t.emptydur, emptydur=t.emptydur
登录后复制

这可确保当遇到重复键时,“entct”、“inact”、“inadur”等列将使用临时表中相应列的值进行更新。

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

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