【问题标题】:Unique Constraint, excluding NULL values [duplicate]唯一约束,不包括 NULL 值
【发布时间】:2011-05-27 09:50:10
【问题描述】:

可能重复:
The proper way to implement unique constraint that allows multiple NULL values in SQL Server

我的表中有一个列,其中所有值必须是唯一的或 NULL。

我尝试为该列的表添加唯一键,但这似乎意味着我只能有 1 个 NULL 值?

我如何设置一个约束以使所有值都是唯一的,除非它们是 NULL?

【问题讨论】:

    标签: sql-server-2005 constraints unique-key


    【解决方案1】:

    SQL Server 2008 已过滤索引允许这样做,但它们在 2005 年不可用。在 SQL Server 2005 中,您可以创建带有定义的索引视图

    CREATE VIEW dbo.Foo
    WITH SCHEMABINDING
    AS
    SELECT bar
    FROM dbo.baz
    WHERE bar IS NOT NULL
    

    然后在上面创建一个唯一的聚集索引。

    CREATE UNIQUE CLUSTERED INDEX ix ON dbo.Foo(bar)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多