PostgreSQL:'ON CONFLICT'约束名称



PostgreSQL DB有一个SQL查询

INSERT INTO table1(user_id, product, val3)
VALUES(1, 1, 'some_value')
ON CONFLICT (user_id, product)
DO UPDATE SET val3 = ""

对于约束

的表
ALTER TABLE table1
ADD CONSTRAINT con1 UNIQUE (user_id, product);

是否有办法在查询中写ON冲突没有(user_id, product),但使用这个约束的名称(con1)?

yes:

INSERT INTO table1(user_id, product, val3)
VALUES(1, 1, 'some_value')
ON CONFLICT ON CONSTRAINT con1
DO UPDATE SET val3 = '';

最新更新