Maison >base de données >tutoriel mysql >Erreur de clé étrangère MySQL 1005 : comment résoudre les conflits de clés étrangères de clé primaire ?

Erreur de clé étrangère MySQL 1005 : comment résoudre les conflits de clés étrangères de clé primaire ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-15 08:40:16232parcourir

MySQL Foreign Key Error 1005: How to Solve Primary Key Foreign Key Conflicts?

Clé primaire MySQL comme clé étrangère : erreur et solution

Lors de la définition d'une contrainte de clé étrangère dans MySQL, il est essentiel de s'assurer de la table de référencement et la table référencée a des index appropriés. Cette exigence peut entraîner des problèmes lors de l'utilisation de la clé primaire d'une table comme clé étrangère dans une autre table.

Clé primaire comme clé étrangère

La première question que vous avez posée est s'il est possible de créer une clé primaire qui est aussi une clé étrangère. La réponse est oui, c'est possible, mais il y a des limites.

Code d'erreur 1005

L'erreur que vous avez rencontrée, le code d'erreur 1005, suggère que MySQL ne peut pas créer le fichier étranger contrainte de clé car la table référencée, dbimmmobili.Immobile, n'a pas d'index sur les colonnes référencées dans la clé étrangère contrainte.

Solution

Pour résoudre ce problème, vous devez créer un index sur les colonnes ComuneImmobile, ViaImmobile, CivicoImmobile et InternoImmobile dans la table dbimmmobili.Immobile. Cet index garantira que MySQL puisse trouver efficacement les enregistrements référencés lors de la vérification des clés étrangères.

Une fois l'index créé, vous devriez pouvoir exporter les modifications sans rencontrer l'erreur.

Notes supplémentaires

Il est important de noter que vous pouvez également rencontrer des problèmes si les types de données des colonnes utilisées dans la clé étrangère Les contraintes diffèrent entre les tables référencées et référencées. Assurez-vous que les types de données sont compatibles pour éviter toute erreur potentielle.

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