Da MySQL - FOREIGN KEY Constraints Documentation :
Se você recriar uma tabela que foi eliminada, ela deverá ter uma definição que esteja em conformidade com as restrições de chave estrangeira que a referenciam. Ele deve ter os nomes e tipos de coluna corretos e deve ter índices nas chaves referenciadas, conforme indicado anteriormente. Se isso não for atendido, o MySQL retornará o Erro 1005 e se referirá ao Erro 150 na mensagem de erro, o que significa que uma restrição de chave estrangeira não foi formada corretamente. Da mesma forma, se um ALTER TABLE falhar devido ao Erro 150, isso significa que uma definição de chave estrangeira seria formada incorretamente para a tabela alterada.