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