目录
语法介绍 示例
语法介绍
INSERT INTO table_name (column1, column2, ...)VALUES (value1, value2, ...)ON DUPLICATE KEY UPDATE column1 = value1, column2 = value2, ...
INSERT INTO table_name: 指定要插入数据的目标表名称。
(column1, column2, ...): 列出要插入数据的列名称。
VALUES (value1, value2, ...): 指定要插入的值。
ON DUPLICATE KEY UPDATE: 指定在遇到重复键时执行的更新操作。
column1 = value1, column2 = value2, ...: 指定要更新的列及其对应的新值。
当执行 INSERT 操作时,如果插入的数据违反了表的唯一约束(例如,违反了主键或唯一索引),就会触发重复键错误。此时,ON DUPLICATE KEY UPDATE 子句会生效,允许您在出现重复键时执行更新操作而不是抛出错误。
在 ON DUPLICATE KEY UPDATE 子句中,您可以指定要更新的列以及它们的新值。通常,您可以使用 VALUES(column_name) 表达式来引用插入语句中相应列的值。
示例
CREATE TABLE users (id INT PRIMARY KEY,name VARCHAR(50));
INSERT INTO users (id, name)VALUES (1, 'John')ON DUPLICATE KEY UPDATE name = VALUES(name);
在这个示例中,如果 id 为 1 的行已经存在,那么 name 的值将被更新为 'John'。如果该行不存在,将插入一行新数据。

最后修改时间:2025-03-25 23:52:03
文章转载自螺竹编程,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




