Depuis la MySQL - FOREIGN KEY Constraints Documentation :
Si vous recréez une table qui a été supprimée, sa définition doit être conforme aux contraintes de clé étrangère qui y font référence. Il doit avoir les noms et les types de colonne corrects, et il doit avoir des index sur les clés référencées, comme indiqué précédemment. Si ceux-ci ne sont pas satisfaits, MySQL renvoie l'erreur 1005 et fait référence à l'erreur 150 dans le message d'erreur, ce qui signifie qu'une contrainte de clé étrangère n'a pas été correctement formée. De même, si ALTER TABLE échoue en raison de l'erreur 150, cela signifie qu'une définition de clé étrangère serait mal formée pour la table modifiée.