我在Postgres数据库中有一个没有主键的表。如果2列的组合有相同的值,我想更新。
...
ON CONFLICT (col1, col2)
DO UPDATE
ELSE
INSERT
...
我找不到没有主键的任何内容。另外,col1和col2的组合是唯一的。col1可以有多行具有相同的值,col2也可以有多行,但不能放在一起。
我的表是这样的:
col1 col2
1 A
1 B
2 A
2 B
我不能对这两列中的任何一列进行唯一约束,但是将索引添加到一个组合中的工作原理如下:
CREATE TABLE example (
col1 integer,
col2 integer,
col3 integer,
UNIQUE (col1, col2));
型
但是现在,如何处理插入。ON CONFLICT
条件应该是什么,因为我们不能在2列上,所以回到同一个问题。
1条答案
按热度按时间jdgnovmf1#
事实上,在这里找到了它,但不是在标记为答案的帖子中,而是评分最高的帖子。Use multiple conflict_target in ON CONFLICT clause
因此,我们的查询将如下所示: