1761: Der "%1!"-Fremdschlüssel kann nicht mit der referenziellen SET NULL-Aktion erstellt werden, weil mindestens eine verweisen
Fehlermeldung:
Meldung 1761, Ebene 16, Status 0, Zeile 3
Der "%1!"-Fremdschlüssel kann nicht mit der referenziellen SET NULL-Aktion erstellt werden, weil mindestens eine verweisende Spalte keine NULL-Werte zulässt.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht einen Fremdschlüssel mit einer referenziellen SET NULL Aktion zu erstellen. Die referenzierende Spalte jedoch keine NULL Werte zulässt.
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. Entweder muss die Definition der spalte geändert werden, um NULL Werte zuzulassen oder die Fremdschlüssel Aktion muss geändert werden.
Versionen:
Alle Versionen von SQL Server.
Beispiele:
IF OBJECT_ID ('dbo.T1') IS NOT NULL
DROP TABLE dbo.T1;
GO
IF OBJECT_ID ('dbo.T2') IS NOT NULL
DROP TABLE dbo.T2;
GO
CREATE TABLE dbo.T1 (c1 int NOT NULL PRIMARY KEY);
CREATE TABLE dbo.T2 (c1 int NOT NULL PRIMARY KEY
CONSTRAINT FK_T2_T1 FOREIGN KEY REFERENCES dbo.T1 (c1)
ON DELETE SET NULL
);
Anmerkungen:
Im obigen Beispiel wird versucht, einen Fremdschlüssel auf dbo.T2 (c1) zu erstellen, welcher dbo.T1 (c1) referenziert. Die referenzielle Aktion soll SET NULL sein. Da c1 jeodhc keine NULL Werte zulässt, wird der Fehler ausgelöst.