除一个字符串外的唯一索引

Unique Index except for one string

在 SQL 服务器中我想在现有 table 中创建一个列,该列必须具有唯一属性,但有一个例外:"ship"。 table 可以包含每个元素的一个副本,但是当我一次又一次地插入 "ship" 时它应该没问题。我该如何管理?

创建一个过滤唯一索引:

CREATE UNIQUE NONCLUSTERED INDEX IX_YourTable_YourColumn
ON dbo.YourTable(YourColumn)
WHERE ItemName <> 'ship'

这将强制 other 不同于 ship.

的任何值的唯一性

这适用于 SQL 服务器 2008 和更高版本