INSERTINTOtable_name (column1, column2)VALUES(value1, value2) ONCONFLICTONCONSTRAINTconstraint_name DO NOTHING;-- 或者 DO UPDATE ... 2、条件更新:在执行 UPDATE 操作时,可以加入 WHERE 子句来设置条件,仅在满足某些条件时才更新。 1 2 3 4 INSERTINTOtable_name (column1, column2)VALUES(value1, ...
--1、主键id不重复就插入,否则更新insertinto表名称 (字段a, 字段b, ...)values(value_a, value_b, ...)onconflict (主键id) doupdateset...略--2、直接绑定主键名称,主键重复则更新insertinto表名称 (字段a, 字段b, ...)values(value_a, value_b, ...)onconflictonconstraintthis_table_key doup...
通过INSERT ON CONFLICT 来使用 upsert 功能: INSERT INTOtable_name(column_list)VALUES(value_list)ON CONFLICT target action; target 可以是: (column_name):一个字段名 ON CONSTRAINT constraint_name:其中的 constraint_name 可以是一个唯一约束的名字 WHERE predicate:带谓语的 WHERE 子句 action 可以是: DO ...
CREATE UNIQUE INDEX idx_unique_column ON your_table (column_name); 使用INSERT IGNORE或INSERT ON CONFLICT语句:PostgreSQL提供了INSERT IGNORE和INSERT ON CONFLICT语句,可以在插入数据时处理冲突。INSERT IGNORE语句将忽略具有冲突主键值的数据,而INSERT ON CONFLICT语句允许您指定在发生冲突时要执行的操作(例如更新现...
--1、主键id不重复就插入,否则更新insertinto表名称 (字段a, 字段b, ...)values(value_a, value_b, ...)onconflict (主键id) doupdateset...略--2、直接绑定主键名称,主键重复则更新insertinto表名称 (字段a, 字段b, ...)values(value_a, value_b, ...)onconflictonconstraintthis_table_key ...
PostgreSQL , upsert , insert on conflict do 背景 PostgreSQL 9.5 引入了一项新功能,UPSERT(insert on conflict do),当插入遇到约束错误时,直接返回,或者改为执行UPDATE。 语法如下 Command: INSERT Description: create new rows in a table Syntax:
PostgreSQL INSERT ON CONFLICT不存在则插入,存在则更新 1、不存在则插入,存在则更新 insertintotestvalues(1,'test',now())onconflict (id) doupdatesetinfo=excluded.info,crt_time=excluded.crt_time; 执行操作:INSERT01查看结果:select*fromtest;
ON CONSTRAINT constraint_name,基于某个唯一约束进行判断。 conflict_action 表示冲突时采取的操作: DO NOTHING,如果数据已经存在,不做任何操作; DO UPDATE SET,如果数据已经存在,更新该数据;可以使用WHERE子句进一步限制需要更新的数据。 这种语句通过为INSERT语句增加ON CONFLICT选项,组合了INSERT和UPDATE语句的功能,因此...
CREATETABLEcustomers(customer_id serialPRIMARYKEY,nameVARCHARUNIQUE,emailVARCHARNOTNULL,activeboolNOTNULLDEFAULTTRUE);insertintocustomers(name,email)values('Microsoft','hotline@microsoft.com')on conflict on constraint customers_name_keydonothing;结果:什么也没做 ...
INSERT INTO "goods" VALUES (103, '3', '王五');ALTER TABLE "goods" ADD CONSTRAINT "pr_cd_key" PRIMARY KEY ("store_cd", "good_cd");表数据:数据存在则更新数据,不存在则插⼊数据 INSERT INTO GOODS VALUES ( 104, '4', '赵六' )ON CONFLICT ON CONSTRAINT pr_key_cd DO UPDATE SET ...