首页 > 解决方案 > 如何保证字段值的唯一性?

问题描述

我有一张看起来像这样的桌子:

id      bigint,
user_id bigint,
main    boolean,
...

在所有具有相同的条目中,user_id只有一个可以拥有main = true。请教,如何实现?

标签: sqlpostgresql

解决方案


您可以使用部分索引

CREATE UNIQUE INDEX index_name ON table_name (user_id) WHERE main;

推荐阅读