可以使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2014 中创建唯一约束,以确保不会在不参与主键的特定列中输入重复值。 创建唯一约束会自动创建相应的唯一索引。
本主题内容
准备工作:
若要创建唯一约束,请使用:
在您开始之前
安全
权限
需要对表具有 ALTER 权限。
使用 SQL Server Management Studio
创建唯一约束
在 对象资源管理器中,右键单击要向其添加唯一约束的表,然后单击“ 设计”。
在“表设计器”菜单上,单击“索引/键”。
在“ 索引/键 ”对话框中,单击“ 添加”。
在 “常规”下的网格中,单击“ 类型 ”,然后从属性右侧的下拉列表框中选择 “唯一键 ”。
在“文件”菜单上,单击“保存表名称”。
使用 Transact-SQL
创建唯一约束
在 “对象资源管理器” 中,连接到某个数据库引擎实例。
在标准栏上,单击“新建查询”。
将以下示例复制并粘贴到查询窗口中,然后单击 执行。 该示例将创建表
TransactionHistoryArchive4
,并且在列TransactionID
上创建唯一约束。USE AdventureWorks2012; GO CREATE TABLE Production.TransactionHistoryArchive4 ( TransactionID int NOT NULL, CONSTRAINT AK_TransactionID UNIQUE(TransactionID) ); GO
为现有表创建唯一约束
在 “对象资源管理器” 中,连接到某个数据库引擎实例。
在标准栏上,单击“新建查询”。
将以下示例复制并粘贴到查询窗口中,然后单击 执行。 该示例在表
PasswordHash
中的PasswordSalt
和Person.Password
列上创建唯一约束。USE AdventureWorks2012; GO ALTER TABLE Person.Password ADD CONSTRAINT AK_Password UNIQUE (PasswordHash, PasswordSalt); GO
在新表中创建一个唯一约束
在 “对象资源管理器” 中,连接到某个数据库引擎实例。
在标准栏上,单击“新建查询”。
将以下示例复制并粘贴到查询窗口中,然后单击 执行。 该示例创建一个表并在
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)。