mysql防止重复插入

防止重复插入

**前提:**设置primarykey或者设值unique索引.

1.insert ignore into 简单、出现重复记录返回警告、无法得知有其它原因引起的错误。
2.on duplicate key update 出现重复记录执行更新操作,其它原因引起的错误不会被忽略。
3.replace into 出现重复的记录,则先删除掉,再插入新记录。

<insert id="batchInsertInfo" parameterType="java.util.List">
		INSERT INTO osa_area(
			id,
			area_id,
			area_name,
			local_phone,
			remote_phone,
			create_by,
			create_date,
			update_by,
			update_date,
			remarks,
			del_flag
		) VALUES
		<foreach collection="list" item="item" index="index" separator=",">
		(
			#{item.id},
			#{item.areaId},
			#{item.areaName},
			#{item.localPhone},
			#{item.remotePhone},
			#{item.createBy.id},
			#{item.createDate},
			#{item.updateBy.id},
			#{item.updateDate},
			#{item.remarks},
			#{item.delFlag}
		)
		</foreach>
		ON duplicate KEY UPDATE
			local_phone=values(local_phone),
			remote_phone=values(remote_phone),
			update_by=values(update_by),
			update_date=values(update_date)
	</insert>
发布了15 篇原创文章 · 获赞 1 · 访问量 624

猜你喜欢

转载自blog.csdn.net/weixin_41341130/article/details/102808632