共用方式為


刪除主索引鍵

適用於: SQL Server 2016 (13.x)和更新版本,Azure SQL Database,Azure SQL 受控實例,Microsoft Fabric 中的 SQL 資料庫

您可以使用 SQL Server Management Studio 或 Transact-SQL,來刪除 (卸除) SQL Server 中的主索引鍵。

刪除主索引鍵時,系統會刪除對應的索引。 此索引可能是數據表的叢集索引,導致數據表成為堆積。 如需詳細資訊,請參閱 堆積(不含叢集索引的數據表)。 大部分的資料表都應該有叢集索引。 若要重新建立主鍵,請參閱 建立主鍵

主索引鍵可由另一個資料表中的外部索引鍵參考。 如果外鍵參考,您必須先卸除參考外鍵,然後卸載主鍵。 如需詳細資訊,請參閱 主要和外鍵限制

權限

需要資料表 ALTER 權限。

使用 SQL Server Management Studio

使用物件總管刪除主鍵限制

  1. 在 [物件總管] 中,展開包含主索引鍵的資料表,然後展開 [索引鍵]

  2. 以滑鼠右鍵按一下索引鍵,然後選取 [刪除]

  3. 在 [刪除物件] 對話方塊中,確認指定了正確的索引鍵,然後選取 [確定]。

使用資料表設計工具刪除主鍵條件約束

  1. 在物件總管中,以滑鼠右鍵按一下含有主索引鍵的資料表,然後選取 [設計]。

  2. 在資料表方格中,以滑鼠右鍵按一下包含主索引鍵的資料列,然後選擇 [移除主索引鍵] 關閉設定。

    注意

    若要恢復此一動作,可將資料表關閉而不儲存變更。 刪除主鍵會導致無法復原,並且遺失對數據表所做的所有其他變更。

  3. 在 [檔案] 功能表中,選取 [儲存表格名稱]。

使用 Transact-SQL

刪除主鍵條件約束

  1. 在物件總管中,連線到資料庫引擎的執行個體。

  2. 在標準列上,選取 [新增查詢]

  3. 複製下列範例並將其貼到查詢視窗中,然後選取 [執行]。

    • 您必須先識別主鍵條件約束的名稱。

      USE AdventureWorks2022;
      GO
      
      -- Return the name of primary key.
      SELECT name
      FROM sys.key_constraints
      WHERE type = 'PK'
          AND OBJECT_NAME(parent_object_id) = N'TransactionHistoryArchive';
      GO
      
    • 若要建立 DROP 腳本,請使用上一個查詢的結果。 以正確的值取代 <primary-key-constraint>。 看起來可能類似 PK_TransactionHistoryArchive_TransactionID

      ALTER TABLE Production.TransactionHistoryArchive
          DROP CONSTRAINT <primary-key-constraint>;
      GO