Ако създадете отново таблица, която е изпусната, тя трябва да има дефиниция, която отговаря на ограниченията на външния ключ, препращащи към нея. Той трябва да има правилните имена и типове на колоните и трябва да има индекси на посочените ключове, както беше посочено по-рано. Ако те не са изпълнени, MySQL връща номер на грешка 1005 и препраща към грешка 150 в съобщението за грешка.
Моето подозрение е, че това е, защото не сте създали foo
като InnoDB, тъй като всичко останало изглежда наред.
Редактиране:от същата страница -
И двете таблици трябва да са InnoDB таблици и не трябва да са ВРЕМЕННИ таблици.