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 = '';