7

我们有一个表,该表在可以接受空值的列上具有唯一索引。问题是我们发现这个结构只能接受 NULL 值的一行。如果我们尝试添加具有 NULL 值的第二行,我们会收到类似的错误。“不能在对象中插入重复的键行……”</p>

我们可以做些什么来保持该列上的索引以及将 NULL 值添加到多行的能力?

4

1 回答 1

29

是的,您可以使用过滤索引来支持这一点。只需删除现有索引并像这样创建新索引

CREATE UNIQUE INDEX Index_Name ON TableName(ColumnName)
WHERE ColumnName IS NOT NULL

这将允许您拥有 NULL 值的重复项。如果您需要有关此的更多详细信息,这是一篇深入的文章。

http://blog.sqlauthority.com/2008/09/01/sql-server-2008-introduction-to-filtered-index-improve-performance-with-filtered-index/

于 2013-03-04T16:19:19.227 回答