我只想知道这件事。我已经创建了一个表,其中包含一个名为person_name的唯一列。在这个表中,我使用prisma v2软删除方法。在这里,只需将已删除的列更新为true。
但是,当我尝试在软删除之后插入相同的person_name时,它返回一个调用唯一约束失败的错误。
有没有人能想到跳过这个问题。我的要求是使person_name成为唯一的列。但是当我删除person_name时,我应该能够再次插入相同的person_name。
发布于 2022-10-12 08:29:38
如果person_name字段上有唯一的列索引,那么即使将记录标记为“软删除”,它仍然存在于要获得唯一约束失败错误的表中。
实际上,您需要创建一个部分唯一索引,其中只有非软删除的字段包含在唯一索引中,而删除的字段不包括在内。
你可以这样做:
CREATE UNIQUE INDEX soft_delete ON user (name) WHERE (is_deleted is NOT true);https://stackoverflow.com/questions/73751825
复制相似问题