我有一种情况,我想在其他字段中存在某个值时添加唯一的constaint 例如表是 ID 分类名称 名称 值 类别ID
约束将在ID,CategoryName和Name上,只有CategoryID为0
有可能吗?
答案 0 :(得分:4)
CREATE UNIQUE NONCLUSTERED INDEX [UQ_ID_CategoryName_Name, CategoryName, Name] ON TableName
(
ID, CategoryName, Name
)
WHERE (CategoryID = 0)
答案 1 :(得分:0)
实现这一目标的一种方法是拥有两个表,一个用于categoryId
0,另一个用于其余表。您可以在第一个表上定义唯一性约束,并在您希望将它们用作单个表时使用视图和联合。
答案 2 :(得分:0)
为Name
CategoryID = 0
创建已过滤的唯一索引。