MySQL写入有则更新、有则替换、有则忽略

2020年7月23日16:52:46 发表评论 6,233
摘要

本文主要介绍开发中常用的三种主键冲突时的sql插入操作,存在则更新、存在则替换、存在则忽略,三种SQL语句的使用方式。

MySQL写入有则更新、有则替换、有则忽略

0x01 前言

开放中经常遇到的一个场景,先判断某条数据是否存在,不存在则写入一条记录,存在就更新某些字段,咋整?难不成写两条SQL?sql早就想到了,其实一条语句就可以完成。

0x02 MySQL 有则更新

解释:向表test中写入1,2,3,存在键冲突则执行更新操作。

0x03 MySQL 有则替换

解释:向表test写入1,2,3,存在键冲突则执行替换操作

注意:次操作会首先删除冲突的行再执行插入操作,所以受影响行数是2

0x04 MySQL 有则忽略

解释:向表test写入1,2,3,存在键冲突则直接忽略不进行写入。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: