Maison > base de données > tutoriel mysql > le corps du texte

Comment réparer l'erreur MySQL 150 : incompatibilité de clé étrangère ?

DDD
Libérer: 2024-11-26 16:01:17
original
366 Les gens l'ont consulté

How to Fix MySQL Error 150: Foreign Key Mismatch?

Dépannage de l'erreur MySQL 150 : incompatibilité de clé étrangère

Lorsque vous essayez de créer une contrainte de clé étrangère dans MySQL, des rencontres peuvent survenir. L'une de ces erreurs est l'erreur 150, qui se produit en cas de non-concordance entre la définition de la clé étrangère et la table référencée.

Description de l'erreur

Message d'erreur :

ERROR 1005 (HY000): Can't create table './test/bar.frm' (errno: 150)
Copier après la connexion

Cause possible

Comme documenté dans la documentation MySQL sur les contraintes de clé étrangère, les clés étrangères les références clés nécessitent le strict respect de règles spécifiques. Une exigence cruciale est que la table de référencement et la table référencée doivent être des tables InnoDB.

Both tables must be InnoDB tables and they must not be TEMPORARY tables.
Copier après la connexion

Solution

Pour résoudre cette erreur, vérifiez que la table de référencement (barre) et la Les tables référencées (foo) sont définies comme des tables InnoDB. Si ce n'est pas le cas, modifiez-les pour utiliser le moteur InnoDB.

ALTER TABLE bar ENGINE=InnoDB;
ALTER TABLE foo ENGINE=InnoDB;
Copier après la connexion

Après avoir effectué cette modification, essayez de recréer la contrainte de clé étrangère entre les deux tables. Si le problème persiste, consultez à nouveau la documentation MySQL ou demandez de l'aide sur les forums pertinents ou auprès d'experts MySQL.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal