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 两个字段
根据这种格式写好之后去执行,完美解决需求,故记录一下。