向数据库中插入一条记录,若该数据的主键值(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;

MySQL 插入更新 ON DUPLICATE KEY UPDATE

执行更新插入

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

 变成了更新操作

 


https://www.liaoxuefeng.com/wiki/1177760294764384/1246617682185952

相关文章:

  • 2022-12-23
  • 2021-09-18
  • 2022-12-23
  • 2022-12-23
  • 2021-09-13
  • 2021-05-21
  • 2021-11-07
猜你喜欢
  • 2021-12-28
  • 2022-12-23
  • 2021-09-14
  • 2021-09-18
相关资源
相似解决方案