on conflict的用法

on conflict用法

欢迎关注蚕豆公众号,不定时分享技术。同时欢迎加入蚕豆技术群哦,扫描公众号点击关于作者加群~~~~

在这里插入图片描述

今天给大家分享一下sql中的小知识(我用的是pgsql,mysql也同样有这个on conflict)


比如有一天啊,威风凛凛的客户需要你写一个入库数据的接口提供他们使用,虽然你满不情愿,但是为了生存你勉强接受!!!

但是写到一半的时候(本人用的mybatis),你突然发现那些gogogogogogo的客户竟然推的有重复数据,这这这!!!!天理难容。
唉~~~~那我们不要着急,这时候就出现了 on conflict,丫的,who pa who

它的作用呢就是insert的时候遇到冲突的时候做一些操作,今天给大家写几个不同的例子。

在这里插入图片描述


第一种:

on conflict on constraint unique_cbxxb do

这一种方式: 大家看在 constraint 后有一个unique_cbxxb,那么这个呢就是你在数据库设定的唯一键名 然后写到这,随后在do后面就可以做操作了。比如: 如下图

在这里插入图片描述

那我这段代码就是循环添加操作,那当我遇到重复数据就会去更新那条数据.

第二种:

on conflict (zwdm,tbxzdm,tkdm,bxgsdm,syjg) do nothing;

这种呢 在 on conflict括号里面的就是你表中的唯一键,第一种呢直接是唯一键名,这种就是把你的各个唯一键写进来,那后面的do nothing就代表如果遇到重复数据就什么都不干(也不添加)。如下:

在这里插入图片描述

第三种:

在这里插入图片描述

第三种就不多讲什么了,就是第二种去掉了do nothing

今天分享到此结束!!!!!!!!!!!!

欢迎关注蚕豆公众号,不定时分享技术。同时欢迎加入蚕豆技术群哦,扫描公众号点击关于作者加群~~~~

在这里插入图片描述

  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值