Postgres ON CONFLICT设置列引用不明确

时间:2019-03-25 17:13:13

标签: sql postgresql upsert

我有一张桌子:

create table c (
    e text not null,
    m text not null,
    p numeric not null,
    PRIMARY KEY (e, m)
);

我想插入或更新,将p添加到现有值:

insert into c values (...) on conflict (e, m) do update set
            p = p + excluded.p

我得到一个错误:

  

错误:列引用“ p”不明确

它是如何模棱两可的?我应该如何写我的插入内容以将excluded.p添加到现有值?

1 个答案:

答案 0 :(得分:1)

好吧,您可能想要:

        p = c.p + excluded.p

您可能想要:

        p = excluded.p + excluded.p

您需要指定。