MySQL-插入更新 ON DUPLICATE KEY UPDATE

Posted jhxxb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL-插入更新 ON DUPLICATE KEY UPDATE相关的知识,希望对你有一定的参考价值。

向数据库中插入一条记录,若该数据的主键值(UNIQUE KEY)已经在表中存在,则执行后面的 UPDATE 操作。否则执行前面的 INSERT 操作。

 

测试表结构

CREATE TABLE `flume_meta` (
  `source_tab` varchar(255) COLLATE utf8_bin DEFAULT NULL UNIQUE,
  `current_index` bigint(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

技术图片

执行更新插入

INSERT INTO `flume_meta` VALUES(user,1)
ON DUPLICATE KEY
UPDATE source_tab=user,current_index=5;

第一次执行后

技术图片

再次执行

技术图片

 变成了更新操作

以上是关于MySQL-插入更新 ON DUPLICATE KEY UPDATE的主要内容,如果未能解决你的问题,请参考以下文章

mysql ON DUPLICATE KEY UPDATE重复插入时更新

MySQL_插入更新 ON DUPLICATE KEY UPDATE

MySQL插入更新_ON DUPLICATE KEY UPDATE

MySQL-插入更新 ON DUPLICATE KEY UPDATE

mysql 插入更新在一条sql ON DUPLICATE KEY UPDATE

sql 更新字段(如果存在)或插入(如果不存在)(使用MySQL ON DUPLICATE KEY UPDATE)