创建唯一约束

您可以通过使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2012 中创建唯一约束,以便确保在未参与主键的特定列中不输入重复值。 创建唯一约束会自动创建相应的唯一索引。

本主题内容

  • 开始之前:

    安全性

  • 使用以下工具创建唯一约束:

    SQL Server Management Studio

    Transact-SQL

开始之前

安全性

权限

需要对表的 ALTER 权限。

用于“返回首页”链接的箭头图标[Top]

使用 SQL Server Management Studio

创建唯一约束

  1. 在**“对象资源管理器”中,右键单击要为其添加唯一约束的表,再单击“设计”**。

  2. 在**“表设计器”菜单上,单击“索引/键”**。

  3. 在**“索引/键”对话框中,单击“添加”**。

  4. 在**“常规”下的网格中单击“类型”,再从属性右侧的下拉列表框中选择“唯一键”**。

  5. 在**“文件”菜单上,单击“保存 table name”**。

用于“返回首页”链接的箭头图标[Top]

使用 Transact-SQL

创建唯一约束

  1. 在**“对象资源管理器”**中,连接到数据库引擎的实例。

  2. 在标准菜单栏上,单击**“新建查询”**。

  3. 将以下示例复制并粘贴到查询窗口中,然后单击**“执行”**。 该示例将创建表 TransactionHistoryArchive4,并且在列 TransactionID 上创建唯一约束。

    USE AdventureWorks2012;
    GO
    CREATE TABLE Production.TransactionHistoryArchive4
     (
       TransactionID int NOT NULL, 
       CONSTRAINT AK_TransactionID UNIQUE(TransactionID) 
    ); 
    GO
    

在现有表中创建唯一约束

  1. 在**“对象资源管理器”**中,连接到数据库引擎的实例。

  2. 在标准菜单栏上,单击**“新建查询”**。

  3. 将以下示例复制并粘贴到查询窗口中,然后单击**“执行”**。 该示例在表 Person.Password 中的 PasswordHash 和 PasswordSalt 列上创建唯一约束。

    USE AdventureWorks2012; 
    GO
    ALTER TABLE Person.Password 
    ADD CONSTRAINT AK_Password UNIQUE (PasswordHash, PasswordSalt); 
    GO
    

在新表中创建唯一约束

  1. 在**“对象资源管理器”**中,连接到数据库引擎的实例。

  2. 在标准菜单栏上,单击**“新建查询”**。

  3. 将以下示例复制并粘贴到查询窗口中,然后单击**“执行”**。 该示例创建一个表并且在列 TransactionID 上定义唯一约束。

    USE AdventureWorks2012;
    GO
    CREATE TABLE Production.TransactionHistoryArchive2
    (
       TransactionID int NOT NULL,
       CONSTRAINT AK_TransactionID UNIQUE(TransactionID)
    );
    GO
    

    有关详细信息,请参阅 ALTER TABLE (Transact-SQL)CREATE TABLE (Transact-SQL)table_constraint (Transact-SQL)

用于“返回首页”链接的箭头图标[Top]