我有一个如下所示的 Postgres 表:
Category Unit Default Unit
---------------------------------------
Currency USD True
Currency EURO False
Currency AUS False
Length Kilometer True
Length Mile False
Length Foot False
Length Inch False
Mass Kilogram True
我想设置一个表约束,以便每个类别只能有一个“默认单位”。
也许这可以在约束中使用 Group By 来完成吗?
最佳答案
您可以创建一个唯一的部分索引:
create unique index idx_table(category, default_unit) on table(category, default_unit)
where default_unit;
关于postgresql - 使用 group-by 的 Postgres 表约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27476736/