创建唯一约束

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

本主题内容

在您开始之前

安全

权限

需要对表具有 ALTER 权限。

使用 SQL Server Management Studio

创建唯一约束

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

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

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

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

  5. 在“文件”菜单上,单击“保存表名称”

使用 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. 将以下示例复制并粘贴到查询窗口中,然后单击 执行。 该示例在表 PasswordHash 中的 PasswordSaltPerson.Password列上创建唯一约束。

    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)。