INSERT INTO table_name (column1, column2) VALUES (value1, value2) ON CONFLICT ON CONSTRAINT constraint_name DO NOTHING; 如果表中有多个唯一约束,可以通过约束名称来指定处理哪个约束的冲突。 什么都不做: sql INSERT INTO table_name (column1,
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...
--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...
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语句的功能,因此...
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语句允许您指定在发生冲突时要执行的操作(例如更新现...
INSERT INTO users (id, name, email) VALUES (1, 'Abiola Laila', 'abiola.new@example.com') ON CONFLICT (id) DO UPDATE SET email = EXCLUDED.email; 4. UPSERT with Unique Constraints If your table has a unique constraint (e.g., on email), you can handle conflicts using it: ...
INSERTINTOGOODSVALUES(104,'4','赵六')ONCONFLICTONCONSTRAINTpr_key_cd DOUPDATESETNAME='更新'WHEREGOODS.STORE_CD='104'ANDGOODS.GOOD_CD='4' AI代码助手复制代码 pr_key_cd为必须为唯一主键,也可以用下面写法(注意:必须保证筛选出数据唯一)
INSERT INTO 表名VALUES ('值1', '值2', ...) ON CONFLICT ON CONSTRAINT 唯一或排除约束名 DO UPDATE SET 列1='值',列2='值', ...; --或 INSERT INTO 表名VALUES ('值1', '值2', ...) ON CONFLICT(唯一或排除约束字段名) DO UPDATE SET 列1='值',列2='值', ...; ...