当前位置:   article > 正文

插入更新 MERGE INTO 和 conflict 和 ON DUPLICATE KEY UPDATE REPLACE INTO_insert into yc01 (x,y,z) values %1 on conflict (x,

insert into yc01 (x,y,z) values %1 on conflict (x, y) do update set z = excl

说明

一、PostgreSQL案例

在PostgreSQL下使用 conflict。

1、插入更新-案例

表结构

​​在这里插入图片描述

设置唯一键

需要先设置唯一键。(也可以设置多个字段的唯一键)

alter table stu add constraint name_cons unique(name);
  • 1

如果 没有设置唯一键,错误信息如下:

insert into stu values('王二',35) on conflict(name) do update set age= 35
> ERROR:  there is no unique or exclusion constraint matching the ON CONFLICT specification

> 时间: 0.009s
  • 1
  • 2
  • 3
  • 4

执行sql

insert into stu values('王二',35) on conflict(name) do update set age=35;
  • 1

其他案例参考:

insert into tbl (sid, v1, crt_time) values (:sid, :v1, now())     
on conflict (sid) do update set     
  v1=excluded.v1,     
  crt_time=excluded.crt_time,     
  cnt=tbl.cnt+1,     
  sum_v=case tbl.cnt when 1 then tbl.v1+excluded.v1 else tbl.sum_v+excluded.v1 end,     
  min_v=least(tbl.min_v, excluded.v1),     
  max_v=greatest(tbl.max_v, excluded.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/85717
推荐阅读
相关标签
  

闽ICP备14008679号