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
今天分享到此结束!!!!!!!!!!!!
欢迎关注蚕豆公众号,不定时分享技术。同时欢迎加入蚕豆技术群哦,扫描公众号点击关于作者加群~~~~
如果觉得《on conflict的用法》对你有帮助,请点赞、收藏,并留下你的观点哦!