共用方式為


建立唯一的條件約束

您可以使用 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. [物件總管] 中,連接到 Database Engine 的執行個體。

  2. 在標準列上,按一下 [新增查詢]

  3. 將下列範例複製並貼到查詢視窗中,然後按一下 [執行]。 此範例會建立 TransactionHistoryArchive4 資料表並且在 TransactionID 資料行上建立唯一條件約束。

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

若要在現有的資料表上建立唯一條件約束

  1. [物件總管] 中,連接到 Database Engine 的執行個體。

  2. 在標準列上,按一下 [新增查詢]

  3. 將下列範例複製並貼到查詢視窗中,然後按一下 [執行]。 此範例會在 Person.Password 資料表中的 PasswordHash 和 PasswordSalt 資料行上建立唯一條件約束。

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

若要在新的資料表中建立唯一條件約束

  1. [物件總管] 中,連接到 Database Engine 的執行個體。

  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]