Erstellen und Ändern von PRIMARY KEY-Einschränkungen

Sie können eine einzelne PRIMARY KEY-Einschränkung als Bestandteil der Tabellendefinition erstellen, während eine Tabelle erstellt wird. Wenn eine Tabelle bereits vorhanden ist, können Sie eine PRIMARY KEY-Einschränkung hinzufügen, sofern noch keine andere PRIMARY KEY-Einschränkung vorhanden ist. Eine Tabelle kann nur eine einzige PRIMARY KEY-Einschränkung enthalten.

Falls bereits eine PRIMARY KEY-Einschränkung vorhanden ist, können Sie diese ändern oder löschen. So kann es z. B. gewünscht sein, dass die PRIMARY KEY-Einschränkung der Tabelle auf andere Spalten verweist, oder Sie möchten die Spaltenreihenfolge, den Indexnamen, die Gruppierungsoption oder den Füllfaktor der PRIMARY KEY-Einschränkung ändern. Allerdings ist es nicht möglich, die Länge einer durch eine PRIMARY KEY-Einschränkung definierten Spalte zu ändern.

HinweisHinweis

Um eine PRIMARY KEY-Einschränkung zu ändern, müssen Sie zuerst die vorhandene PRIMARY KEY-Einschränkung löschen und sie dann mit der neuen Definition neu erstellen.

Wenn eine PRIMARY KEY-Einschränkung einer vorhandenen Spalte bzw. vorhandenen Spalten in der Tabelle hinzugefügt wird, überprüft Database Engine (Datenbankmodul) die vorhandenen Spaltendaten und Metadaten, um sicherzustellen, dass die folgenden Regeln für Primärschlüssel eingehalten werden:

  • In den Spalten sind keine NULL-Werte zugelassen.

    Spalten von PRIMARY KEY-Einschränkungen, die beim Erstellen einer Tabelle angegeben werden, werden implizit zu NOT NULL konvertiert. Eine Spalte mit geringer Dichte kann nicht als Teil eines Primärschlüssels verwendet werden, da eine Spalte mit geringer Dichte NULL-Werte zulassen muss.

  • Es dürfen keine doppelten Werte vorhanden sein.

    Wenn eine PRIMARY KEY-Einschränkung zu einer Spalte hinzugefügt wird, die doppelte Werte enthält oder NULL-Werte zulässt, gibt Database Engine (Datenbankmodul) einen Fehler zurück und fügt die Einschränkung nicht hinzu.

Es ist nicht möglich, eine PRIMARY KEY-Einschränkung hinzuzufügen, die gegen diese Regeln verstößt.

Database Engine (Datenbankmodul) erstellt automatisch einen eindeutigen Index, um die Anforderung an die Eindeutigkeit für die PRIMARY KEY-Einschränkung zu erzwingen. Wenn in der Tabelle noch kein gruppierter Index vorhanden ist oder kein nicht gruppierter Index explizit angegeben wurde, wird ein eindeutiger, gruppierter Index erstellt, um die PRIMARY KEY-Einschränkung zu erzwingen.

In folgenden Situationen ist das Löschen einer PRIMARY KEY-Einschränkung nicht möglich:

  • Eine FOREIGN KEY-Einschränkung in einer anderen Tabelle verweist auf die PRIMARY KEY-Einschränkung. Zuerst muss die FOREIGN KEY-Einschränkung gelöscht werden.

  • Für die Tabelle gilt ein PRIMARY XML-Index.

So erstellen Sie eine PRIMARY KEY-Einschränkung beim Erstellen einer Tabelle

So erstellen oder löschen Sie eine PRIMARY KEY-Einschränkung in einer vorhandenen Tabelle

So finden Sie Informationen zu PRIMARY KEY-Einschränkungen

Siehe auch

Konzepte