iBatis/Java - 索引冲突

iBatis/Java - on conflict on index

在table中:

CONSTRAINT unique_position UNIQUE (id,city,type)
CREATE UNIQUE INDEX unique_position_sat_null ON public."position" (id,city) where type is null

当我们使用 iBatis 插入 table 时,我们想使用:

ON CONFLICT ON INDEX unique_position DO UPDATE SET
        .....

据我所知,我们不能在 POSTGRES 的 ON CONFLICT 中使用索引。

是否有任何其他选项可以处理此问题? 谢谢

这是重复的问题。我在你之前的回答中回答过 POSTGRES - Handling several ON CONFLICT constraints/indexes

简而言之:不,目前无法在 ON CONFLICT 子句中提及部分索引名称。

您的解决方法是(可能取决于您的逻辑):完全停止在 "type" 列中使用 NULL,而是使用“-1”并使用 3 列唯一约束。