在MySQL中插入如果存在就更新,可以使用 ON DUPLICATE KEY UPDATE
当有唯一索引时,如果唯一索引重复就会执行更新操作
也可以使用分布式锁进行先查询在判断不存在再插入,存在更新.但是这只是一个简单业务,为了方便起见就使用 ON DUPLICATE KEY UPDATE进行,
但是这样做会导致主键id不是连续的
insert into abnormal
(
app_id,
internal_code,
count,
channel,
eval_mode,
date,
create_time,
update_time
)
values (
#{appId},
#{internalCode},
1,
#{channel},
#{evalMode},
#{date},
now(),
now()
)
ON DUPLICATE KEY UPDATE count = count + 1;