Jeśli ponownie utworzysz porzuconą tabelę, musi ona mieć definicję zgodną z ograniczeniami kluczy obcych, do których się odwołuje. Musi mieć prawidłowe nazwy i typy kolumn oraz indeksy kluczy, do których się odwołuje, jak wspomniano wcześniej. Jeśli nie są one spełnione, MySQL zwraca numer błędu 1005 i odwołuje się do błędu 150 w komunikacie o błędzie.
Moje podejrzenie jest to, że to nie ty stworzyłeś foo
jako InnoDB, ponieważ wszystko inne wygląda OK.
Edycja:z tej samej strony -
Obie tabele muszą być tabelami InnoDB i nie mogą być tabelami TEMPORARY.