向数据库中插入一条记录,若该数据的主键值(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;
第一次执行后
再次执行
变成了更新操作