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