Maison > base de données > tutoriel mysql > Erreur MySQL 150 : pourquoi ne puis-je pas créer cette clé étrangère ?

Erreur MySQL 150 : pourquoi ne puis-je pas créer cette clé étrangère ?

Barbara Streisand
Libérer: 2024-11-27 05:19:14
original
806 Les gens l'ont consulté

MySQL Error 150: Why Can't I Create This Foreign Key?

Erreur 150 rencontrée par MySql : problèmes de déchiffrement des clés étrangères

Lorsqu'ils tentent de créer une table avec une clé étrangère faisant référence à une autre table, les développeurs peuvent rencontrer erreur 150, les déroutant avec son message énigmatique. Cet article examine la cause sous-jacente de cette erreur et propose une solution.

Comme détaillé dans la documentation MySQL, l'erreur 150 se produit lorsque la recréation d'une table qui a été précédemment supprimée ne respecte pas les contraintes de clé étrangère qui y font référence. Plus précisément, la table doit conserver les mêmes noms de colonnes, types et index sur les clés référencées que lors de sa création initiale.

Pour résoudre ce problème, assurez-vous que la table contenant la clé étrangère (dans ce cas, "foo") est également créé en tant que table InnoDB. Selon la documentation MySQL, les deux tables impliquées dans une relation de clé étrangère doivent être des tables InnoDB et non des tables temporaires.

Par conséquent, pour corriger l'erreur, essayez de recréer la table "foo" en tant que table InnoDB en utilisant ce qui suit requête :

CREATE TABLE foo (
  id INT PRIMARY KEY
) ENGINE = InnoDB;
Copier après la connexion

Une fois la table "foo" créée en tant que table InnoDB, vous devriez pouvoir créer avec succès la table "bar" avec la référence de clé étrangère sans je rencontre l'erreur 150.

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