我想知道一个唯一键在sql server中可以有多少个null值。我读过许多文章,每个文章都有不同的答案,有的说无限的空值被接受,有的说只接受一个空值,据我说,只有一个空值被接受是对还是错?
答案是:这取决于。有一些方法可以创建一个唯一索引,该索引在MS SQL Server中允许多个空值,但这不是默认值。MS中的默认值是仅允许一个NULL。但这不是ANSI标准。ANSI标准92、99和03明确允许多个具有唯一性的null。
此处的答案给出了很好的解释:如何创建也允许空值的唯一约束?
使用示例进行更新:从表定义中删除UNIQUE约束,然后像这样添加索引
CREATE UNIQUE NONCLUSTERED INDEX idx_name
ON table_name(column_name)
WHERE column_name IS NOT NULL;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句