在 MySQL 中使用唯一键约束进行插入或更新
当您需要处理重复键约束时,在 MySQL 表中插入或更新行可能会很棘手。为了解决这个问题,MySQL 提供了多功能的“INSERT ... ON DUPLICATE KEY UPDATE”语句。
如问题所述,您希望将一行插入具有唯一键的表中。但是,如果已经存在具有相同唯一键的行,则希望更新其值。
传统上,插入一行会违反唯一键约束,从而导致错误消息。“INSERT IGNORE”会抑制错误,但不会执行更新操作。
解决方案:INSERT ... ON DUPLICATE KEY UPDATE
解决方案在于使用“INSERT ... ON DUPLICATE KEY UPDATE”语法。让我们使用提供的示例来分解此查询:
<code class="language-sql">INSERT INTO table_name (ID, NAME, AGE) VALUES(1, "A", 19) ON DUPLICATE KEY UPDATE NAME="A", AGE=19</code>
说明:
如果表中不存在 ID=1 的行,则将使用提供的值插入新行。但是,如果已存在 ID=1 的行,则只会使用指定的值更新“NAME”和“AGE”列,“ID”保持不变。
以上是MySQL 插入或更新时如何处理唯一键约束?的详细内容。更多信息请关注PHP中文网其他相关文章!