547: The INSERT/UPDATE/DELETE statement conflicted with the FOREIGN KEY / CHECK constraint (Statement kollidiert mit FOREIGN-KEY-/CHECK-Constraint)
SQL ServerWas bedeutet das?
Das Statement hat einen FOREIGN-KEY- oder CHECK-Constraint verletzt. Entweder hat es eine nicht existierende Elternzeile referenziert, einen Wert geschrieben, der eine CHECK-Regel verletzt, oder versucht, eine noch referenzierte Elternzeile zu löschen.
Ursache
FK: Die von der eingefügten Kindzeile referenzierte Elternzeile existiert nicht. DELETE/UPDATE: Kindzeilen hängen von der zu löschenden/ändernden Elternzeile ab. CHECK: Der Spaltenwert erfüllt die definierte Bedingung nicht.
Lösung
Füge zuerst die Elternzeile ein, dann die Kindzeile. Entferne beim Löschen zuerst die abhängigen Zeilen oder definiere, wo sinnvoll, ON DELETE CASCADE. Bringe bei einer CHECK-Verletzung den Wert in Einklang mit der Regel. Ermittle den verletzten Constraint über den Constraint-Namen im Fehlertext.
Weitere Einträge zu dieser Datenbank
- 1205Transaction (Process ID) was deadlocked on lock resources with another process and has been chosen as the deadlock victim (Transaktion als Deadlock-Opfer gewählt)
- 2627Violation of PRIMARY KEY / UNIQUE KEY constraint. Cannot insert duplicate key in object (Verletzung des PRIMARY-KEY-/UNIQUE-KEY-Constraints; doppelter Schlüssel nicht einfügbar)
- 2601Cannot insert duplicate key row in object with unique index. The duplicate key value is ... (doppelte Schlüsselzeile in Objekt mit Unique Index nicht einfügbar)
- 18456Login failed for user (Anmeldung für Benutzer fehlgeschlagen)
- 8152String or binary data would be truncated (String- oder Binärdaten würden abgeschnitten)
- 2628String or binary data would be truncated in table, column ...; truncated value (Daten würden in Tabelle/Spalte abgeschnitten; abgeschnittener Wert)
- 1222Lock request time out period exceeded (Timeout der Sperranforderung überschritten)