От MySQL - Документация за ограничения на FOREIGN KEY :
Ако създадете отново таблица, която е изпусната, тя трябва да има дефиниция, която отговаря на ограниченията на външния ключ, препращащи към нея. Той трябва да има правилни имена и типове колони и трябва да има индекси на препратените ключове, както беше посочено по-рано. Ако те не са изпълнени, MySQL връща грешка 1005 и препраща към грешка 150 в съобщението за грешка, което означава, че ограничението за външен ключ не е формирано правилно. По същия начин, ако ALTER TABLE се провали поради грешка 150, това означава, че дефиницията на външен ключ ще бъде неправилно формирана за променената таблица.