PostgreSQL数据库如果不存在则插入,存在则更新

本文介绍在 PostgreSQL 中如何实现有条件地插入数据,如果记录已存在则进行更新的操作。通过示例展示了使用 ON CONFLICT 子句来判断并处理重复记录的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在做接手别人项目的时候,有这样的需求,往数据库中插入数据的时候,要满足下面:
1、如果数据库存在一条记录,则将新插入的值,作为更新
2、如果没有这样一条记录,则新增。

以一个字段为判断是否存在。

INSERT INTO test_postgre(id,name,InputTime,age)
VALUES('1','postgre','2018-01-10 22:00:00',24)
ON conflict(id) 
DO UPDATE SET name = 'postgreOk', InputTime ='2018-02-22 12:00:00'
百度看到上面这样的写法,这里做一个记录。以防后续需要。

也说明一下,如果不存在则会新增,VALUES里面的值,如果存在,则会更新name和InputTime字段,当然如果你需要改age,也可以继续在后面加,或者只写age;这个conflict(id)中的id是判断是否存在记录的依据。

参考:http://www.cnblogs.com/ShaYeBlog/p/6427616.html

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值