1753: Die '%1!.%2!'-Spalte hat nicht die gleiche Länge wie die verweisende '%3!.%4!'-Spalte
Fehlermeldung:
Meldung 1753, Ebene 16, Status 0, Zeile 1
Die '%1!.%2!'-Spalte hat nicht die gleiche Länge wie die verweisende '%3!.%4!'-Spalte im '%5!'-Fremdschlüssel. Für Spalten, die an einer Fremdschlüsselbeziehung beteiligt sind, muss die gleiche Länge definiert sein.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht eine referentielle Integritätsbeziehung zwischen zwei Spalten ungleicher Länge einzurichten.
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 Spalten sollten die gleiche Länge aufweisen.
Versionen:
Alle Versionen von SQL Server.
Beispiele:
USE tempdb;
GO
IF OBJECT_ID('tempdb..t1') > 0
DROP TABLE t1
GO
IF OBJECT_ID('tempdb..t') > 0
DROP TABLE t
GO
CREATE TABLE t
(
c1 CHAR(10) PRIMARY KEY
)
GO
CREATE TABLE t1
(
c1 CHAR(5)
CONSTRAINT FK_t_t1_c1 FOREIGN KEY REFERENCES t(c1)
ON UPDATE CASCADE
)
Anmerkungen:
Im obigen Beispiel wird versucht, eine referentielle Integritätsbeziehung zwischen zwei CHAR Spalten der Länge 10 bzw. 5 einzurichten. Dies löst den Fehler aus.