PostgreSql 使用INSERT INTO table_name(id,value) VALUES (1,1) ON CONFLICT(id) DO .... 語法(ON CONFLICT可以接多個字段,但必須存在唯一索引)
在INSERT INTO操作時當唯一鍵沖突可以做一些解決沖突的處理,一般有如下3種處理場景
-
當唯一鍵沖突時,不做處理
ON CONFLICT(id) DO NOTHING -
當唯一鍵沖突時,value列 +1
ON CONFLICT (id) DO UPDATE SET value = table.value + 1 -
當唯一鍵沖突時,value設置為insert 時的value
ON CONFLICT (id)DO UPDATE SET value = EXCLUDED.value
