【发布时间】:2021-02-15 03:33:30
【问题描述】:
给定一张桌子:
CREATE TABLE IF NOT EXISTS test."TestCounter"
("id" TEXT PRIMARY KEY,
"count" INTEGER);
如果记录已经存在,我想插入一条记录并增加计数器
INSERT INTO test."TestCounter" ("id")
VALUES ('id-0')
ON CONFLICT ("id") DO UPDATE
SET "count" = ("count" + 1)
RETURNING "count"
目前我收到此错误:
ERROR: column reference "count" is ambiguous
LINE 4: SET "count" = "count" + 1
^
SQL state: 42702
Character: 107
【问题讨论】:
-
尝试替换成
-
@BeshambherChaukhwan:Postgres(或标准 SQL)中没有“替换为”。
-
哦,我的错。请检查这个答案stackoverflow.com/questions/11135501/…
-
@BeshambherChaukhwan:触发器也不能解决这个问题,也不需要,请参阅下面的答案。
标签: sql postgresql upsert