标签: sql-server sql-server-2012 ssms
如何在一个现有的表中使一个int列唯一 - 在SSMS中包含数据但允许多个空值的现有表。
现在表中有很多记录 - 现在它们在这一列中都有NULL。
我已经看到了在TSQL中使用唯一过滤索引的方法 - 我可以在UI中看到这样做而不允许NULLS。
使用SSMS GUI是不可能的?
除此之外,使用纯TSQL的最佳方法是什么?一个独特的过滤索引?
答案 0 :(得分:2)
使用代码:
create unique nonclustered index uixf_mycol on dbo.t (col) where col is not null;
在SSMS中:
filter
答案 1 :(得分:0)
您可以在列上创建UNIQUE约束。
UNIQUE
CREATE TABLE Test ( P_Id int, CONSTRAINT uc_ID UNIQUE (P_Id) )