唯一约束仅在NON-NULL列上

问题描述

| 在MS sql Server 2008中,可以在列BUT上定义“ 0”,对于IF和IF,仅对NON-NULL值进行检查。也就是说,将有许多NULL应该被忽略。对于非null,它应该是唯一的。     

解决方法

        您需要创建一个过滤索引:
CREATE UNIQUE NONCLUSTERED INDEX User_PinNr_IUC
ON [User] (pinNr)
WHERE pinNr IS NOT NULL
引用CREATE INDEX(Transact-SQL)   在的地方:   通过指定创建过滤索引   索引中包含哪些行。   过滤后的索引必须为   表上的非聚集索引。创造   数据行的过滤统计信息   在过滤索引中。