postgresql数据库 如果存在则更新(update),如果不存在则插入(insert)

格式:insert into ...... on conflict(column_name) do ......

例子:

uxdb=# create table tbl_c (id int unique, name varchar(2));
CREATE TABLE
uxdb=# insert into tbl_c values (1, 'a');
INSERT 0 1
uxdb=# table tbl_c;
 id | name 
----+------
  1 | a
(1 row)
uxdb=# insert into tbl_c values (1, 'a');
ERROR:  duplicate key value violates unique constraint "tbl_c_id_key"
DETAIL:  Key (id)=(1) already exists.
uxdb=# insert into tbl_c values (1, 'a') on conflict(id) do update set name='b';
INSERT 0 1
uxdb=# table tbl_c;
 id | name 
----+------
  1 | b
(1 row)

uxdb=# 

注意:conflict(column_name)中的column_name必须是主键或具有唯一性才可以

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
第1章 了解sql  第2章 检索数据  第3章 排序检索数据  第4章 过滤数据  第5章 高级数据过滤  第6章 用通配符进行过滤  第7章 创建计算字段  第8章 使用数据处理函数  第9章 汇总数据  第10章 分组数据  第11章 使用子查询  第12章 联结表  第13章 创建高级联结  第14章 组合查询  第15章 插入数据  第16章 更新和删除数据  第17章 创建和操纵表  第18章 使用视图  第19章 使用存储过程  第20章 管理事务处理  .第21章 使用游标  第22章 了解高级sql特性  附录a 样例表脚本   a.1 样例表   a.2 获得样例表    a.2.1 下载可供使用的microsoft access mdb文件    a.2.2 下载dbms sql脚本  附录b 流行的应用系统   b.1 使用aqua data studio   b.2 使用db2   b.3 使用macromedia coldfusion   b.4 使用microsoft access   b.5 使用microsoft asp   b.6 使用microsoft asp.net   b.7 使用microsoft query   b.8 使用microsoft sql server   b.9 使用mysql   b.10 使用oracle   b.11 使用php   b.12 使用postgresql   b.13 使用query tool   b.14 使用sybase   b.15 配置odbc数据源  附录c sql语句的语法   c.1 alter table   c.2 commit   c.3 create index   c.4 create procedure   c.5 create table   c.6 create view   c.7 delete   c.8 drop   c.9 insert   c.10 insert select   c.11 rollback   c.12 select   c.13 update  附录d sql数据类型   d.1 串数据类型   d.2 数值数据类型   d.3 日期和时间数据类型   d.4 二进制数据类型  附录e sql保留字  索引

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

password-u

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值