Maison > base de données > tutoriel mysql > Pourquoi est-ce que j'obtiens une erreur MySQL « Impossible de créer une table (errno : 150) » ?

Pourquoi est-ce que j'obtiens une erreur MySQL « Impossible de créer une table (errno : 150) » ?

Mary-Kate Olsen
Libérer: 2025-01-20 02:39:09
original
324 Les gens l'ont consulté

Why Am I Getting a MySQL

Résolution de l'erreur MySQL "Impossible de créer une table (errno : 150)"

Rencontrer l'erreur 150 lors de la création d'une table lors de l'importation SQL peut prêter à confusion. Cet article plonge dans la cause profonde de ce problème, fournissant une compréhension claire et des solutions.

Analyse du problème

L'erreur « MySQL : Impossible de créer une table (errno : 150) » se produit lorsque la définition d'une table importée entre en conflit avec une contrainte de clé étrangère la référençant. Ces contraintes garantissent l’intégrité des données entre les tables liées.

Vérifier les contraintes de clé étrangère

Pour résoudre cette erreur, vérifiez les aspects suivants de la contrainte de clé étrangère :

  1. Les noms et types de colonnes sont-ils corrects : Assurez-vous que la table nouvellement créée a les mêmes noms de colonnes et types de données que les colonnes référencées dans la table parent.
  2. L'index existe : Vérifiez que la table en cours de création a un index sur la colonne référencée par la clé étrangère. L’absence d’index approprié rompt l’intégrité référentielle et déclenche l’erreur 150.

Résoudre les conflits

Une fois que vous avez déterminé les différences entre la définition de la table et les contraintes de clé étrangère, modifiez la définition de la table pour vous conformer aux contraintes attendues. Cela peut inclure l'ajout de colonnes manquantes, la modification des types de données ou la création des index nécessaires.

Autres notes

  • Si une table est supprimée puis recréée, sa définition doit être la même que la table d'origine pour éviter les conflits de contraintes de clé étrangère.
  • Les opérations ALTER TABLE qui modifient une table avec une contrainte de clé étrangère déclencheront également l'erreur 150 si le changement affecte la validité de la contrainte.

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