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!