Maison >base de données >tutoriel mysql >Pourquoi est-ce que j'obtiens un échec de contrainte de clé étrangère MySQL (code d'erreur 1452) ?

Pourquoi est-ce que j'obtiens un échec de contrainte de clé étrangère MySQL (code d'erreur 1452) ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-21 05:20:13657parcourir

Why Am I Getting a MySQL Foreign Key Constraint Failure (Error Code 1452)?

La contrainte de clé étrangère MySQL a échoué : code d'erreur 1452

Lors de la tentative d'insertion d'une valeur dans la table ORDRELINJE dans une base de données MySQL, une erreur s'est produite avec le message "Code d'erreur : 1452. Impossible d'ajouter ou de mettre à jour la ligne enfant : échec de la contrainte de clé étrangère".

Comprendre les contraintes des clés étrangères

Les contraintes de clés étrangères garantissent l'intégrité référentielle dans les bases de données relationnelles. Une clé étrangère est une colonne d'une table enfant qui fait référence à une colonne de clé primaire de la table parent. Lorsqu'une ligne est insérée ou mise à jour dans la table enfant, la valeur de la clé étrangère doit correspondre à une valeur existante dans la colonne de clé primaire de la table parent.

Analyse des erreurs

Dans ce cas, l'erreur indique que la table ORDRELINJE a une contrainte de clé étrangère qui fait référence à la table Ordre. Lorsque vous essayez d'insérer une ligne dans la table ORDRELINJE, la valeur de la colonne Ordre ne correspond à aucune ligne existante dans la table Ordre.

Résolution des erreurs

Pour résoudre cette erreur, assurez-vous que les conditions suivantes sont remplies :

  1. Lignes correspondantes dans la table parent : La valeur de la colonne Ordre dans la table ORDRELINJE doit correspondre à la valeur existante de la colonne OrdreID dans la table Ordre. Si nécessaire, insérez d'abord les lignes correspondantes dans la table Ordre.
  2. Compatibilité des types de données : Les types de données de la colonne de clé étrangère (Ordre) et de la colonne de clé primaire qu'elle référence (OrdreID) doivent correspondre.
  3. Comportement en cascade : Configurez une contrainte de clé étrangère pour permettre l'insertion de lignes dans une table enfant même s'il n'y a aucune ligne correspondante dans la table parent. Ceci peut être réalisé en utilisant l'option ON DELETE CASCADE ou ON UPDATE CASCADE lors de la création de la contrainte de clé étrangère.

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