1770: Der '%1!'-Fremdschlüssel verweist auf die ungültige '%2!'-Spalte in der '%3!'-Tabelle
Fehlermeldung:
Meldung 1770, Ebene 16, Status 0, Zeile 1
Der '%1!'-Fremdschlüssel verweist auf die ungültige '%2!'-Spalte in der '%3!'-Tabelle, auf die verwiesen wird.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht für eine Tabelle eine FOREIGN KEY Einschränkung zu erstellen, die auf eine nichtexistente Spalte in einer anderen Benutzertabelle verweist.
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. Die Spalte in der Tabelle, auf die verwiesen wird, muss existieren.
Versionen:
Alle Versionen von SQL Server.
Beispiele:
USE tempdb;
GO
IF OBJECT_ID('tempdb..t') > 0
DROP TABLE t
IF OBJECT_ID('tempdb..t1') > 0
DROP TABLE t1
GO
CREATE TABLE t
(
c1 INT PRIMARY KEY
)
GO
CREATE TABLE t1
(
c1 INT
CONSTRAINT FK_t_t1_c1 FOREIGN KEY REFERENCES t(c)
)
Anmerkungen:
Im obigen Beispiel wird versucht, eine FOREIGN KEY Einschränkung für die Tabelle t1 mit der Spalte c der Tabelle t zu erstellen. Da die Spalte c nicht existiert in der Tabelle t wird der Fehler ausgelöst.