创建和修改 UNIQUE 约束

创建表时,可以创建 UNIQUE 约束作为表定义的一部分。如果表已经存在,可以添加 UNIQUE 约束(假设组成 UNIQUE 约束的列或列组合仅包含唯一的值)。一个表可含有多个 UNIQUE 约束。

如果 UNIQUE 约束已经存在,可以修改或删除它。例如,可能要使表的 UNIQUE 约束引用其他列或者要更改聚集索引的类型。

ms177420.note(zh-cn,SQL.90).gif注意:
若要修改 UNIQUE 约束,必须首先删除现有的 UNIQUE 约束,然后用新定义重新创建。

默认情况下,向表中的现有列添加 UNIQUE 约束后,SQL Server 2005 数据库引擎将检查列中的现有数据,以确保所有值都是唯一的。如果向含有重复值的列添加 UNIQUE 约束,数据库引擎将返回错误消息,并且不添加约束。

数据库引擎将自动创建 UNIQUE 索引来强制执行 UNIQUE 约束的唯一性要求。因此,如果试图插入重复行,数据库引擎将返回错误消息,说明该操作违反了 UNIQUE 约束,不能将该行添加到表中。除非显式指定了聚集索引,否则,默认情况下将创建唯一的非聚集索引以强制执行 UNIQUE 约束。

一个 CREATE TABLE 语句的以下节选显示 Name 列的定义,对该列指定了 UNIQUE 约束,以确保值是唯一的。

Name nvarchar(100) NOT NULL

UNIQUE NONCLUSTERED

若要删除对约束中所包括列或列组合输入值的唯一性要求,请删除 UNIQUE 约束。如果相关联的列被用作表的全文键,则不能删除 UNIQUE 约束。

在创建表时创建 UNIQUE 约束

在现有表中创建 UNIQUE 约束

删除 UNIQUE 约束

获得有关 UNIQUE 约束的信息

请参阅

概念

UNIQUE 约束

帮助和信息

获取 SQL Server 2005 帮助