侧边栏壁纸
博主头像
三味的小站博主等级

世界上没有偶然,有的只是必然的结果。

  • 累计撰写 61 篇文章
  • 累计创建 13 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录
sql

PGSQL UPSERT使用

三味线
2020-01-14 / 0 评论 / 0 点赞 / 6 阅读 / 617 字

PG 9.5开始支持的特性,根据约束,存在则更新,不存在则插入;

使用某字段约束:

INSERT INTO distributors (did, dname) VALUES (8, 'Anvil Distribution')
ON CONFLICT (did) DO UPDATE
SET dname = EXCLUDED.dname

注意字段属性必须是UNIQUE,不然会报错:

there is no unique or exclusion constraint matching the ON CONFLICT specification

使用唯一键约束:

INSERT INTO distributors (did, dname) VALUES (9, 'Antwerp Design')
ON CONFLICT ON CONSTRAINT distributors_pkey DO NOTHING

0

评论区