共用方式為


建立主索引鍵

您可以使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 2012 中定義主索引鍵。 建立主索引鍵會自動建立對應的唯一叢集或非叢集索引。

本主題內容

  • 開始之前:

    限制事項

    安全性

  • 使用下列方法建立主索引鍵:

    SQL Server Management Studio

    Transact-SQL

開始之前

限制事項

  • 一份資料表只能有一個 PRIMARY KEY 條件約束。

  • PRIMARY KEY 條件約束內所定義的所有資料行,都必須定義成 NOT NULL。 如果未指定 Null 屬性,參與 PRIMARY KEY 條件約束的所有資料行,其 Null 屬性都會設成 NOT NULL。

安全性

權限

建立具有主索引鍵的新資料表,需要資料庫中的 CREATE TABLE 權限及建立資料表的結構描述之 ALTER 權限。

在現有資料表中建立主索引鍵需要此資料表的 ALTER 權限。

搭配回到頁首連結使用的箭頭圖示[Top]

使用 SQL Server Management Studio

若要建立主索引鍵

  1. 在 [物件總管] 中,以滑鼠右鍵按一下要加入唯一條件約束的資料表,然後按一下 [設計]

  2. [資料表設計工具] 中,按一下要定義為主索引鍵的資料庫資料行的資料列選取器。 若要選取多個資料行,請按住 CTRL 鍵,同時按一下其他資料行的資料列選取器。

  3. 在資料行的資料列選取器按一下滑鼠右鍵,然後選取 [設定主索引鍵]。

警告注意事項注意

若要重新定義主索引鍵,必須在建立新的主索引鍵前,先刪除所有現有主索引鍵的關聯性。 出現訊息警告您,這個程序中會自動刪除現有的關聯性。

主索引鍵資料行是由資料列選取器中的主索引鍵符號識別。

如果主索引鍵由一個以上的資料行組成,一個資料行中允許有重複的值,但是主索引鍵中所有資料行的組合值必須是唯一的。

如果您定義了複合索引鍵,主索引鍵中的資料行順序必須符合資料表所顯示的資料行順序。 然而,您可以在建立主索引鍵之後變更資料行的順序。 如需詳細資訊,請參閱<修改主索引鍵>。

搭配回到頁首連結使用的箭頭圖示[Top]

使用 Transact-SQL

在現有的資料表建立主索引鍵

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

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

  3. 將下列範例複製並貼到查詢視窗中,然後按一下 [執行]。 此範例會在 TransactionID 資料行上建立主索引鍵。

    USE AdventureWorks2012;
    GO
    ALTER TABLE Production.TransactionHistoryArchive 
    ADD CONSTRAINT PK_TransactionHistoryArchive_TransactionID PRIMARY KEY CLUSTERED (TransactionID);
    GO
    

在新的資料表建立主索引鍵

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

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

  3. 將下列範例複製並貼到查詢視窗中,然後按一下 [執行]。 此範例會建立資料表並在 TransactionID 資料行上定義主索引鍵。

    USE AdventureWorks2012;
    GO
    CREATE TABLE Production.TransactionHistoryArchive1
    (
       TransactionID int NOT NULL,
       CONSTRAINT PK_TransactionHistoryArchive_TransactionID PRIMARY KEY CLUSTERED (TransactionID)
    );
    GO
    

    如需詳細資訊,請參閱<ALTER TABLE (Transact-SQL)>、<CREATE TABLE (Transact-SQL)>和<table_constraint (Transact-SQL)>。

搭配回到頁首連結使用的箭頭圖示[Top]