我有一种情况,我只想在其他字段中有某个值时才添加唯一约束,例如表是 ID CategoryName Name Value CategoryID
约束将在 ID、CategoryName 和 Name 上,CategoryID 为 0
可能吗?
我有一种情况,我只想在其他字段中有某个值时才添加唯一约束,例如表是 ID CategoryName Name Value CategoryID
约束将在 ID、CategoryName 和 Name 上,CategoryID 为 0
可能吗?
CREATE UNIQUE NONCLUSTERED INDEX [UQ_ID_CategoryName_Name, CategoryName, Name] ON TableName
(
ID, CategoryName, Name
)
WHERE (CategoryID = 0)
实现此目的的一种方法是使用两张表,一张用于categoryId
0,一张用于其余。您可以在第一个表上定义唯一性约束,并在任何时候将它们用作单个表时使用视图和联合。
Name
在for上创建过滤的唯一索引CategoryID = 0
。