Mysql
 sql >> Base de données >  >> RDS >> Mysql

Que signifie l'erreur mysql 1025 (HY000):Erreur lors du changement de nom de './foo' (errorno:150) ?

Vous obtenez généralement cette erreur si vos tables utilisent le moteur InnoDB. Dans ce cas, vous devrez supprimer la clé étrangère, puis modifier la table et supprimer la colonne.

Mais la partie délicate est que vous ne pouvez pas supprimer la clé étrangère en utilisant le nom de la colonne, mais à la place, vous devrez trouver le nom utilisé pour l'indexer. Pour le trouver, lancez le select suivant :

AFFICHER la région CRÉER TABLE ;

Cela devrait vous montrer le nom de l'index, quelque chose comme ceci :

CONTRAINTE region_ibfk_1 FOREIGNKEY (country_id ) RÉFÉRENCEScountry (id ) SUR LA SUPPRESSION AUCUNE ACTION SUR LA MISE A JOUR AUCUNE ACTION

Maintenant, émettez simplement un :

modifier la région de la table supprimer la clé étrangèreregion_ibfk_1;

Et enfin un :

modifier la région de la table drop columncountry_id ;

Et vous êtes prêt à partir !