添加条件唯一检查约束?

时间:2019-11-07 18:56:32

标签: sql-server constraints

我有一个包含以下字段的表:ItemID,CategoryID,IsPrimaryCategory。

ItemID和CategoryID的组合应该始终是唯一的,这很容易。但是我还希望约束在IsPrimaryCategory为true时强制ItemID是唯一的,而只能是

我怎样才能最好地做到这一点?

1 个答案:

答案 0 :(得分:1)

使用唯一的过滤索引:

create unique index uc_MyTable_ItemID_For_PrimaryCategory
  on MyTable(ItemID)
where IsPrimaryCategory = 1