8151: Die PRIMARY KEY- und die UNIQUE-Einschränkung wurden für die '%1!'-Spalte, '%2!'-Tabelle
Fehlermeldung:
Meldung 8151, Ebene 16, Status 0, Zeile 1
Die PRIMARY KEY- und die UNIQUE-Einschränkung wurden für die '%1!'-Spalte, '%2!'-Tabelle, definiert. Nur eine der beiden Einschränkungen ist zulässig.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht gleichzeitig eine PRIMARY KEY und eine UNIQUE Einschränkung für eine Tabellenspalte zu erstellen.
Auswirkungen:
Das SQL Statement kann zwar geparst werden, jedoch zur Laufzeit wird der Fehler ausgelöst.
Behebung:
Fehler der Ebene 16 sind Fehler, die vom Anwender hervorgerufen werden. Sie können und müssen vom Anwender korrigiert werden. Das Statement kann so nicht ausgeführt werden. Beide Einschränkungen können nicht gleichzeitig erstellt werden. Sie müssen nacheinander in zwei verschiedenen Statements erstellt werden.
Versionen:
Alle Versionen von SQL Server.
Beispiele:
USE tempdb;
GO
IF OBJECT_ID('tempdb..#t') > 0
DROP TABLE #t
GO
CREATE TABLE #t
(
id INT
CONSTRAINT PK_t PRIMARY KEY
CONSTRAINT UC_t_id UNIQUE
)
GO
Anmerkungen:
Im obigen Beispiel wird versucht, bei Tabellenerstellung gleichzeitig eine PRIMARY KEY und eine UNIQUE Einschränkung für die Spalte id der Tabelle #t zu erstellen. Dies ist nicht zulässig und löst den Fehler aus.