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


今天在做接手别人项目的时候,有这样的需求,往数据库中插入数据的时候,要满足下面:
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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM