mounaim Asked: 2014-10-29 06:29:27 +0800 CST2014-10-29 06:29:27 +0800 CST 2014-10-29 06:29:27 +0800 CST 唯一列是否可以包含多个空值 SQL Server 2008 [重复] 772 我想将 Oracle 表 A 中包含的数据迁移到 SQL Server。表 A 包含具有唯一约束但有多个空值的列CIN 。问题是 SQL Server 拒绝数据。有什么解决方法吗? sql-server sql-server-2008 1 个回答 Voted Best Answer Solomon Rutzky 2014-10-29T06:42:44+08:002014-10-29T06:42:44+08:00 您可以使用过滤索引从考虑唯一性的考虑中删除 NULL 值。您将首先删除现有的UNIQUE CONSTRAINT,然后将其替换为UNIQUE INDEX. 这两个对象本质上是相同的,因为 aUNIQUE CONSTRAINT通过 a 实际存在UNIQUE INDEX(用于创建列约束的文档UNIQUE状态是“通过使用唯一索引为指定的列或列提供实体完整性的约束。”)。 CREATE UNIQUE NONCLUSTERED INDEX index_name ON SchemaName.TableA (CIN ASC) WHERE [CIN] IS NOT NULL;
您可以使用过滤索引从考虑唯一性的考虑中删除 NULL 值。您将首先删除现有的
UNIQUE CONSTRAINT
,然后将其替换为UNIQUE INDEX
. 这两个对象本质上是相同的,因为 aUNIQUE CONSTRAINT
通过 a 实际存在UNIQUE INDEX
(用于创建列约束的文档UNIQUE
状态是“通过使用唯一索引为指定的列或列提供实体完整性的约束。”)。