为了账号安全,请及时绑定邮箱和手机立即绑定

如何在NULL列上创建唯一索引?

如何在NULL列上创建唯一索引?

慕姐4208626 2019-11-27 10:29:59
我正在使用SQL Server2005。我想将一列中的值限制为唯一,同时允许NULLS。我当前的解决方案包括在这样的视图上的唯一索引:CREATE VIEW vw_unq WITH SCHEMABINDING AS    SELECT Column1      FROM MyTable     WHERE Column1 IS NOT NULLCREATE UNIQUE CLUSTERED INDEX unq_idx ON vw_unq (Column1)还有更好的主意吗?
查看完整描述

3 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

计算得出的列技巧被广泛称为“无效破坏者”。我的笔记归功于史蒂夫·卡斯(Steve Kass):


CREATE TABLE dupNulls (

pk int identity(1,1) primary key,

X  int NULL,

nullbuster as (case when X is null then pk else 0 end),

CONSTRAINT dupNulls_uqX UNIQUE (X,nullbuster)

)


查看完整回答
反对 回复 2019-11-27
  • 3 回答
  • 0 关注
  • 534 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信