DBAtlas · Atlas für Datenbankbetrieb

547: The INSERT/UPDATE/DELETE statement conflicted with the FOREIGN KEY / CHECK constraint (Statement kollidiert mit FOREIGN-KEY-/CHECK-Constraint)

SQL Server

Was 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.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank