DBAtlas · Atlas für Datenbankbetrieb

ORA-02291: integrity constraint violated - parent key not found (Integritäts-Constraint verletzt: Elternschlüssel nicht gefunden)

Oracle

Was bedeutet das?

Ein Foreign-Key-Constraint wurde verletzt. Zum in die Kindtabelle eingefügten Wert wurde keine passende Elternzeile gefunden; der referenzierte Datensatz existiert also nicht.

Ursache

Ein INSERT/UPDATE, das einen nicht existierenden Elterndatensatz referenziert, die Zeile der Elterntabelle wurde noch nicht eingefügt, falsche Ladereihenfolge (Kind vor Eltern) oder der Abgleich schlägt wegen Unterschieden bei Groß-/Kleinschreibung oder Leerzeichen fehl.

Lösung

Füge zuerst den betreffenden Datensatz in die Elterntabelle ein, dann in die Kindtabelle. Prüfe, ob die Referenz existiert: SELECT * FROM parent_table WHERE key_col = value; Verarbeite Tabellen bei Massenladungen in der richtigen Reihenfolge (Eltern zuerst). Um die verletzende Zeile zu finden, vergleiche den Wert in der Kindtabelle per NOT IN / Anti-Join mit der Elterntabelle.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank