Erstellen und Ändern von UNIQUE-Einschränkungen

Sie können eine UNIQUE-Einschränkung als Bestandteil der Tabellendefinition erstellen, während Sie die Tabelle erstellen. Sie können einer vorhandenen Tabelle eine UNIQUE-Einschränkung hinzufügen, vorausgesetzt, die Spalte oder Kombination aus Spalten, die die UNIQUE-Einschränkung bilden, enthält nur eindeutige Werte. Eine Tabelle kann mehrere UNIQUE-Einschränkungen enthalten.

Wenn bereits eine UNIQUE-Einschränkung vorhanden ist, können Sie sie ändern und löschen. So kann z. B. gewünscht sein, dass die UNIQUE-Einschränkung der Tabelle auf andere Spalten verweist, oder Sie möchten die Art der Indexgruppierung ändern.

HinweisHinweis

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

Wenn eine UNIQUE-Einschränkung einer vorhandenen Spalte bzw. vorhandenen Spalten in der Tabelle hinzugefügt wird, überprüft Database Engine (Datenbankmodul) die vorhandenen Daten in den Spalten, um sicherzustellen, dass alle Werte eindeutig sind. Wenn eine UNIQUE-Einschränkung zu einer Spalte hinzugefügt wird, die doppelte Werte enthält, gibt Database Engine (Datenbankmodul) einen Fehler zurück und fügt die Einschränkung nicht hinzu.

Database Engine (Datenbankmodul) erstellt automatisch einen UNIQUE-Index, um die Anforderung an die Eindeutigkeit für die UNIQUE-Einschränkung zu erzwingen. Wenn ein Versuch unternommen wird, eine doppelte Zeile einzufügen, gibt Database Engine (Datenbankmodul) eine Fehlermeldung zurück, die darauf hinweist, dass die UNIQUE-Einschränkung verletzt wurde, und fügt die Zeile der Tabelle nicht hinzu. Standardmäßig wird ein eindeutiger nicht gruppierter Index erstellt, um die UNIQUE-Einschränkung zu erzwingen, es sei denn, ein gruppierter Index wird explizit angegeben.

Mit folgendem Auszug aus einer CREATE TABLE-Anweisung wird die Definition der Name-Spalte veranschaulicht, mit der eine UNIQUE-Einschränkung für diese Spalte festgelegt wird, damit sichergestellt ist, dass die Werte eindeutig sind.

Name nvarchar(100) NOT NULL

UNIQUE NONCLUSTERED

Löschen Sie eine UNIQUE-Einschränkung, damit die Anforderung an die Eindeutigkeit von Werten entfällt, die in die Spalte oder die Kombination aus Spalten eingegeben werden, die in die Einschränkung eingebunden sind. Eine UNIQUE-Einschränkung kann nicht gelöscht werden, wenn die zugehörige Spalte als Volltextschlüssel der Tabelle verwendet wird.

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

So erstellen Sie eine UNIQUE-Einschränkung für eine vorhandene Tabelle

So löschen Sie eine UNIQUE-Einschränkung

So erhalten Sie Informationen zu UNIQUE-Einschränkungen