刪除主索引鍵
適用於: 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
使用物件總管刪除主鍵限制
在 [物件總管] 中,展開包含主索引鍵的資料表,然後展開 [索引鍵]。
以滑鼠右鍵按一下索引鍵,然後選取 [刪除]。
在 [刪除物件] 對話方塊中,確認指定了正確的索引鍵,然後選取 [確定]。
使用資料表設計工具刪除主鍵條件約束
在物件總管中,以滑鼠右鍵按一下含有主索引鍵的資料表,然後選取 [設計]。
在資料表方格中,以滑鼠右鍵按一下包含主索引鍵的資料列,然後選擇 [移除主索引鍵] 關閉設定。
注意
若要恢復此一動作,可將資料表關閉而不儲存變更。 刪除主鍵會導致無法復原,並且遺失對數據表所做的所有其他變更。
在 [檔案] 功能表中,選取 [儲存表格名稱]。
使用 Transact-SQL
刪除主鍵條件約束
在物件總管中,連線到資料庫引擎的執行個體。
在標準列上,選取 [新增查詢]。
複製下列範例並將其貼到查詢視窗中,然後選取 [執行]。
您必須先識別主鍵條件約束的名稱。
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