在我正在进行的这个项目中,我需要将特定字段设置为唯一(不是问题!)但如果该字段为空,我希望忽略约束。在 Sql Server 2008 中,我使用如下所示的过滤索引,但这在早期版本的 SQL 中不可用!
CREATE UNIQUE NONCLUSTERED INDEX User_UserName_IUC
ON [User] (pinNr)
WHERE UserName IS NOT NULL
Run Code Online (Sandbox Code Playgroud)
但我不认为这在 SQL Server 2005 中可用。事实上,这篇博客文章表明有一种使用触发器来检查唯一性的解决方法。有没有人有这样的例子?或者也许是另一种选择?
不幸的是,升级到 SQL Server 2008 不是这个特定客户端的选项!!