我有一个包含以下字段的表:ItemID,CategoryID,IsPrimaryCategory。
ItemID和CategoryID的组合应该始终是唯一的,这很容易。但是我还希望约束在IsPrimaryCategory为true时强制ItemID是唯一的,而只能是 。
我怎样才能最好地做到这一点?
答案 0 :(得分:1)
使用唯一的过滤索引:
create unique index uc_MyTable_ItemID_For_PrimaryCategory
on MyTable(ItemID)
where IsPrimaryCategory = 1