在SQL Server中,我想在现有表中创建一个列,该列必须具有唯一属性,但有一个例外:" ship"。该表可以只包含每个元素的一个副本,但是当我插入" ship"一次又一次应该没问题。我该如何管理?
答案 0 :(得分:7)
创建已过滤唯一索引:
CREATE UNIQUE NONCLUSTERED INDEX IX_YourTable_YourColumn
ON dbo.YourTable(YourColumn)
WHERE ItemName <> 'ship'
这将强制其他的任何值的唯一性,而不是ship
。
这适用于SQL Server 2008 和更新