ON conflict ( ) DO 子句实现
示例表:tb_user_info
CREATE TABLE "public"."tb_user_info" (
"user_id" int4 NOT NULL,
"sex" varchar(255) COLLATE "pg_catalog"."default",
"password" varchar(255) COLLATE "pg_catalog"."default"
)
使用ON conflict ( ) DO子句,下面的意思即为当 'user_id'重复时,执行UPDATE 操作
INSERT INTO tb_user_info ( user_id, sex, "password" )
VALUES
( 1, '女', 'kissssss' ) ON conflict ( user_id) DO
UPDATE
SET sex = '女',
"password" = 'kissssss';
注:ON conflict ( 'column1','column2' ) DO 中的字段要满足唯一性约束,否则sql执行时会报错