2

我有一种情况,我只想在其他字段中有某个值时才添加唯一约束,例如表是 ID CategoryName Name Value CategoryID

约束将在 ID、CategoryName 和 Name 上,CategoryID 为 0

可能吗?

4

3 回答 3

5
CREATE UNIQUE NONCLUSTERED INDEX [UQ_ID_CategoryName_Name, CategoryName, Name] ON TableName 
(
    ID, CategoryName, Name
)
WHERE (CategoryID = 0)
于 2013-09-14T21:21:39.067 回答
0

实现此目的的一种方法是使用两张表,一张用于categoryId0,一张用于其余。您可以在第一个表上定义唯一性约束,并在任何时候将它们用作单个表时使用视图和联合。

于 2013-09-14T21:11:07.787 回答
0

Name在for上创建过滤的唯一索引CategoryID = 0

于 2013-09-14T21:14:33.000 回答