mysql 使用 replace into 或者 ON DUPLICATE KEY 实现插入数据或者更新已存在数据(insertOrUpdate)
Posted BBinChina
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 使用 replace into 或者 ON DUPLICATE KEY 实现插入数据或者更新已存在数据(insertOrUpdate)相关的知识,希望对你有一定的参考价值。
1、replace into 的做法是先根据主键来判断数据是否存在,如果存在即删除旧数据后重新插入数据,来达到update的目的
<insert id="insertOrUpdateData" useGeneratedKeys="true" keyProperty="id" parameterType="list">
replace into datas
(<include refid="column"/>)
VALUES
<foreach collection="list" item="it" separator=",">
( #{it.data})
</foreach>
</insert>
以上采用id主键(也可为 唯一索引)来进行判断
2、ON DUPLICATE KEY 判断主键
INSERT INTO person (id,age,name,address,score)VALUES( 1, 18 , '张三' ,'洛阳',1) ON DUPLICATE KEY UPDATE name='王五',address='北京海淀'score = score + 1
以上是关于mysql 使用 replace into 或者 ON DUPLICATE KEY 实现插入数据或者更新已存在数据(insertOrUpdate)的主要内容,如果未能解决你的问题,请参考以下文章
MySQL中的insert into 与replace into用法和区别
MySQL中REPLACE INTO和INSERT INTO的区别分析