Home  >  Article  >  Database  >  详解MySQL中ON DUPLICATE KEY UPDATE使用方式

详解MySQL中ON DUPLICATE KEY UPDATE使用方式

PHPz
PHPzforward
2016-06-07 15:28:401955browse

本篇文章给大家带来了关于MySQL的相关知识,其中主要介绍了MySQL中的ON DUPLICATE KEY UPDATE怎么用的,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。

详解MySQL中ON DUPLICATE KEY UPDATE使用方式

MySQL 的 ON DUPLICATE KEY UPDATE 语句用于在执行 INSERT 时避免重复记录。当插入数据时,如果发现主键或唯一约束已存在,则会更新现有记录而不是插入新记录。

INSERT INTO table_name (column1, column2, column3)
VALUES (value1, value2, value3)
ON DUPLICATE KEY UPDATE column1 = value1, column2 = value2, column3 = value3;

在上面的示例中,如果在表 “table_name” 中已存在一个与 (value1, value2) 相同的主键或唯一约束,则会更新 column1,column2 和 column3 的值。

如果你想更新除主键 / 唯一键外的其他列,可以这样做:

INSERT INTO table_name (column1, column2, column3)
VALUES (value1, value2, value3)
ON DUPLICATE KEY UPDATE column2 = value2, column3 = value3;

还可以使用 VALUES () 函数来使用已经插入的值

INSERT INTO table_name (column1, column2, column3)
VALUES (value1, value2, value3)
ON DUPLICATE KEY UPDATE column1 = VALUES(column1), column2 = VALUES(column2);

MySQL 的 ON DUPLICATE KEY UPDATE 语句会在遇到重复键时更新已有的记录。在默认情况下,如果表中定义了自增主键,那么执行 ON DUPLICATE KEY UPDATE 时会自动增加主键值。

推荐学习:《MySQL视频教程

Statement:
This article is reproduced at:learnku.com. If there is any infringement, please contact admin@php.cn delete