建立唯一的條件約束
您可以使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 2012 中建立唯一條件約束,確保在沒有參與主索引鍵之特定資料行中輸入的值不會重複。 建立唯一條件約束會自動建立對應的唯一索引。
本主題內容
開始之前:
安全性
若要使用下列項目來建立唯一條件約束:
SQL Server Management Studio
Transact-SQL
開始之前
安全性
權限
需要資料表的 ALTER 權限。
[Top]
使用 SQL Server Management Studio
若要建立唯一條件約束
在 [物件總管] 中,以滑鼠右鍵按一下要加入唯一條件約束的資料表,然後按一下 [設計]。
在 [資料表設計工具] 功能表中,按一下 [索引/索引鍵]。
在 [索引/索引鍵] 對話方塊中,按一下 [加入]。
在 [一般] 底下的方格中,按一下 [類型],然後從屬性右邊的下拉式清單方塊中選擇 [唯一索引鍵]。
按一下 [檔案] 功能表上的 [儲存 table name]。
[Top]
使用 Transact-SQL
若要建立唯一條件約束
在 [物件總管] 中,連接到 Database Engine 的執行個體。
在標準列上,按一下 [新增查詢]。
將下列範例複製並貼到查詢視窗中,然後按一下 [執行]。 此範例會建立 TransactionHistoryArchive4 資料表並且在 TransactionID 資料行上建立唯一條件約束。
USE AdventureWorks2012; GO CREATE TABLE Production.TransactionHistoryArchive4 ( TransactionID int NOT NULL, CONSTRAINT AK_TransactionID UNIQUE(TransactionID) ); GO
若要在現有的資料表上建立唯一條件約束
在 [物件總管] 中,連接到 Database Engine 的執行個體。
在標準列上,按一下 [新增查詢]。
將下列範例複製並貼到查詢視窗中,然後按一下 [執行]。 此範例會在 Person.Password 資料表中的 PasswordHash 和 PasswordSalt 資料行上建立唯一條件約束。
USE AdventureWorks2012; GO ALTER TABLE Person.Password ADD CONSTRAINT AK_Password UNIQUE (PasswordHash, PasswordSalt); GO
若要在新的資料表中建立唯一條件約束
在 [物件總管] 中,連接到 Database Engine 的執行個體。
在標準列上,按一下 [新增查詢]。
將下列範例複製並貼到查詢視窗中,然後按一下 [執行]。 此範例會建立資料表並且在 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]