Maison > base de données > tutoriel mysql > Pourquoi est-ce que j'obtiens l'erreur de clé étrangère MySQL 1005 lors de la création d'une clé étrangère faisant référence à une clé primaire ?

Pourquoi est-ce que j'obtiens l'erreur de clé étrangère MySQL 1005 lors de la création d'une clé étrangère faisant référence à une clé primaire ?

Barbara Streisand
Libérer: 2024-12-26 12:31:10
original
217 Les gens l'ont consulté

Why am I getting MySQL Foreign Key Error 1005 when creating a foreign key referencing a primary key?

Erreur de clé étrangère MySQL 1005 : clé primaire comme clé étrangère

La création d'une clé étrangère faisant référence à une clé primaire n'est généralement pas recommandée, car cela peut entraîner des problèmes de performances et d'intégrité des données.

Clé primaire en tant que clé étrangère Clé

Bien qu'il soit possible de créer une clé primaire qui est également une clé étrangère, ce n'est pas une pratique courante. Ce faisant, vous limitez la flexibilité de la table de clé étrangère, car elle ne peut pas être référencée par d'autres tables.

Erreur 1005

L'erreur que vous rencontrez, "Erreur 1005 : Impossible de créer la table 'dbimmmobili.condoni' (errno : 150)", indique que MySQL ne peut pas créez les clés étrangères correctement.

Index manquant

Comme indiqué dans le message d'erreur, MySQL nécessite un index utilisable sur les tables de référence et référencées pour les contraintes de clé étrangère. Dans votre cas, il semble que vous n'ayez pas créé d'index sur la clé primaire de la table référencée.

Solution

Pour résoudre le problème, assurez-vous que la table référencée, dbimmmobili.Immobile, dispose d'un index créé sur les colonnes de clé primaire : ComuneImmobile, ViaImmobile, CivicoImmobile et InternoImmobile. Une fois que vous avez créé l'index, vous devriez pouvoir exporter les modifications avec succès.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal