1. 程式人生 > 資料庫 >postgresql saveOrUpdate實現方式

postgresql saveOrUpdate實現方式

在postgresql9.5以上 提供了conflict() 來判斷sql語句插入時,是否發生重複

1. saveOrUpdate實現方式     主鍵重複後,執行update操作

INSERT INTO user_pages (user_id, page_id, enabled)
VALUES (1, 1, TRUE)
ON CONFLICT (user_id, page_id)
DO UPDATE SET enabled = 0;

  

2.saveOrNothing    主鍵重複後,不執行任何操作

INSERT INTO user_pages (user_id, page_id, enabled)
VALUES (1, 1, TRUE)
ON CONFLICT (user_id, page_id)
DO NOTHING

 

postgresql使用者手冊:

http://www.postgres.cn/docs/9.6/sql-insert.html#SQL-ON-CONFLICT