Maison >base de données >tutoriel mysql >Erreur de contrainte de clé étrangère MySQL 1452 : comment corriger « Impossible d'ajouter ou de mettre à jour une ligne enfant » ?

Erreur de contrainte de clé étrangère MySQL 1452 : comment corriger « Impossible d'ajouter ou de mettre à jour une ligne enfant » ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-21 05:07:08336parcourir

MySQL Foreign Key Constraint Error 1452: How to Fix

Erreur de contrainte de clé étrangère dans MySQL : "Erreur 1452 : Impossible d'ajouter ou de mettre à jour la ligne enfant"

Lors de l'insertion de données dans une table enfant, les contraintes de clé étrangère garantissent que les données référencées dans la table parent existent. Cependant, si cette contrainte n'est pas respectée, une erreur se produit, comme indiqué dans la requête suivante :

<code class="language-sql">INSERT INTO Ordrelinje (Ordre, Produkt, AntallBestilt) VALUES (100, 1, 5);</code>

Erreur de compréhension

L'erreur « Erreur 1452 : Impossible d'ajouter ou de mettre à jour la ligne enfant : échec de la contrainte de clé étrangère » indique qu'aucune ligne dans la table parent ne correspond à la valeur de clé étrangère spécifiée. Dans cet exemple, il n’y a pas d’ordre avec OrderID 100.

Résoudre le problème

Pour résoudre cette erreur, vous devez d'abord vous assurer que les données référencées existent dans la table parent :

<code class="language-sql">INSERT INTO Ordre (OrdreID, KundeID) VALUES (100, 200);</code>

Une fois que la table parent contient les données nécessaires, vous pouvez insérer des données dans la table enfant sans rencontrer d'erreurs de contrainte de clé étrangère :

<code class="language-sql">INSERT INTO Ordrelinje (Ordre, Produkt, AntallBestilt) VALUES (100, 1, 5);</code>

Relation de clé étrangère

Les relations de clés étrangères établissent des liens entre les tables, garantissant l'intégrité des données et empêchant les anomalies de manipulation des données. La table enfant contient une colonne qui fait référence à une colonne de la table parent, créant ainsi une relation parent-enfant.

  • Table parent : contient la valeur de la clé primaire.
  • Table enfant : a une valeur de clé étrangère pointant vers la table parent.

Appliquer les contraintes de clé étrangère

Les paramètres de base de données par défaut appliquent généralement des contraintes de clé étrangère. Si une violation se produit, la base de données n’autorisera pas les opérations de manipulation des données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn