在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;