1.前景
今天接到Leader一個需求:數據保存時如果存在該數據則去更新,否則新增
2.思考
查看Mysql的文檔知道存在一個函數,挺符合符合我現在的需求
on DUPLICATE key UPDATE
2.1:前提:
表數據必須有**【唯一主鍵】**,否則無法進行判斷該數據是否唯一
2.2:語法
insert into t_wsdm_code(id,code_type,code,type_name)values(1,2,3,4)
on DUPLICATE key UPDATE
type_name = #{參數}
根據語法寫出如下Sql:
insert into t_wsdm_code(
id,
code_type,
type_name,
code,
code_name
)values (
#{id},
#{codeType},
#{typeName},
#{code},
#{codeName}
)
<!-- 當主鍵(code_type、code)重複時,則去更新該條數據 -->
on DUPLICATE key UPDATE
<if test="typeName != null">`type_name` = #{typeName}, </if>
<if test="codeName != null">`code_name` = #{codeName} </if>
我這裏【唯一主鍵】是:code code_type 兩個字段
根據這種格式寫好之後去執行,完美解決需求,故記錄一下。