DBAtlas · Atlas d'exploitation des bases de données

ORA-02291: integrity constraint violated - parent key not found (contrainte d'intégrité violée : clé parente introuvable)

Oracle

Que signifie cette erreur ?

Une contrainte de clé étrangère a été violée. Aucune ligne parente correspondant à la valeur insérée dans la table enfant n'a été trouvée ; autrement dit, l'enregistrement référencé n'existe pas.

Cause

INSERT/UPDATE référençant un enregistrement parent inexistant, ligne de la table parente pas encore insérée, mauvais ordre de chargement (enfant avant parent), ou correspondance en échec en raison de différences de casse ou d'espaces.

Comment la corriger

Insérez d'abord l'enregistrement concerné dans la table parente, puis dans la table enfant. Vérifiez que la référence existe : SELECT * FROM parent_table WHERE key_col = value; Lors des chargements en masse, traitez les tables dans le bon ordre (parent d'abord). Pour trouver la ligne fautive, comparez la valeur de la table enfant avec la table parente à l'aide de NOT IN / d'une anti-jointure.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur