我的约束是我的 upsert 的限制因素吗?

Is my constraint the limiting factor in my upsert?

我目前有一个名为 prefixes 的 table。此 table 有 prefixBIGINT,以及 guildBIGINT UNIQUE。我的查询是这样的: INSERT INTO prefixes VALUES (, ) ON CONFLICT (prefixes.guild) DO UPDATE SET "prefix" = WHERE "guild" = ; 其中 </code> 和 <code> 分别是 14865'~'。 (我的图书馆确实允许这种语法。

目前失败 AmbiguousColumnError: column reference "guild" is ambiguous

unique 约束是否会导致此错误?

否,但在 WHERE 子句中,可以在 prefixes.guildEXCLUDED.guild 之间进行选择,其中后者代表要插入的值。所以你必须说出你指的是哪一个:

WHERE prefixes.guild = 

但这完全没有必要,因为 UPDATE 只会影响匹配的行,您应该省略整个冗余的 WHERE 子句。