Odstranění primárních klíčů
platí pro: SQL Server 2016 (13.x) a novější verze
Azure SQL Database
Azure SQL Managed Instance
SQL Database v Microsoft Fabric
Primární klíč v SQL Serveru můžete odstranit pomocí aplikace SQL Server Management Studio nebo jazyka Transact-SQL.
Po odstranění primárního klíče se odstraní odpovídající index. Tento index může být clusterovaný index tabulky, což způsobí, že se tabulka stane haldou. Další informace najdete v tématu Haldy (tabulky bez clusterovaných indexů). Většina tabulek by měla mít clusterovaný index. Pokud chcete primární klíč znovu vytvořit, přečtěte si téma Vytvoření primárních klíčů.
Na primární klíče lze odkazovat cizími klíči v jiné tabulce. Pokud odkazuje cizí klíč, musíte nejprve vyřadit odkazování na cizí klíče a pak primární klíč vypustit. Další informace naleznete v primární a cizí klíčová omezení.
Dovolení
Vyžaduje oprávnění ALTER
k tabulce.
Použití aplikace SQL Server Management Studio
Odstranění omezení primárního klíče pomocí Průzkumníka objektů
V Průzkumníku objektů rozbalte tabulku, která obsahuje primární klíč, a potom rozbalte Klíče.
Klikněte pravým tlačítkem myši na klíč a vyberte Odstranit.
V dialogovém okně Odstranit objekt ověřte, zda je zadán správný klíč, a vyberte OK.
Odstranění omezení primárního klíče pomocí Návrháře tabulky
V Průzkumníku objektů klikněte pravým tlačítkem myši na tabulku s primárním klíčem a vyberte Návrh.
V mřížce tabulky klikněte pravým tlačítkem myši na řádek s primárním klíčem a zvolte Odebrat primární klíč, aby se nastavení zapnulo na vypnuto.
Poznámka
Pokud chcete tuto akci vrátit zpět, zavřete tabulku bez uložení změn. Odstranění primárního klíče nejde vrátit zpět, aniž by došlo ke ztrátě všech ostatních změn provedených v tabulce.
V nabídce Soubor vyberte Uložitnázev tabulky.
Použití Transact-SQL
Odstraňte omezení primárního klíče
V Průzkumník Objektůse připojte k instanci Databázový stroj.
Na panelu Standard vyberte Nový dotaz.
Zkopírujte a vložte následující příklad do okna dotazu a vyberte Spustit.
Nejprve musíte identifikovat název omezení primárního klíče.
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
Pokud chcete vytvořit
DROP
skript, použijte výsledek z předchozího dotazu. Nahraďte<primary-key-constraint>
správnou hodnotou. Může vypadat podobně jakoPK_TransactionHistoryArchive_TransactionID
.ALTER TABLE Production.TransactionHistoryArchive DROP CONSTRAINT <primary-key-constraint>; GO