Maison >base de données >tutoriel mysql >Erreur MySQL 1005 : une clé primaire peut-elle être une clé étrangère et comment résoudre les problèmes de contrainte de clé étrangère ?
Erreur de clé étrangère MySQL 1005 : clé primaire comme clé étrangère
Non, il n'est pas possible de définir une clé primaire comme clé étrangère dans MySQL. Une clé primaire identifie de manière unique les enregistrements d'une table, tandis qu'une clé étrangère fait référence aux enregistrements d'une autre table. La combinaison de ces deux rôles entraînerait des contraintes circulaires.
L'erreur rencontrée : "Erreur 1005 : Impossible de créer la table 'dbimmmobili.condoni' (errno : 150)", indique que MySQL ne peut pas créer la table en raison d'un problème avec la clé étrangère contraintes.
Le message "Erreur dans la contrainte de clé étrangère de la table dbimmmobili/valutazionimercato" suggère qu'un index manquant est à l'origine du problème. MySQL nécessite que la table référencée ait un index couvrant les colonnes spécifiées dans la clé étrangère.
Créer un index sur la table référencée (dbimmmobili.Immobile) pour les colonnes (ComuneImmobile, ViaImmobile , CivicoImmobile, InternoImmobile):
CREATE INDEX ix_ComuneViaCivicoInterno ON dbimmobili.Immobile (ComuneImmobile, ViaImmobile, CivicoImmobile, InternoImmobile);
Cet index garantira que MySQL puisse trouver efficacement les enregistrements correspondants dans le Table dbimmmobili.Immobile lorsque la table dbimmmobili.condoni les référence.
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!