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