Aus der MySQL - FOREIGN KEY Constraints Documentation :
Wenn Sie eine gelöschte Tabelle neu erstellen, muss sie über eine Definition verfügen, die den Fremdschlüsseleinschränkungen entspricht, die auf sie verweisen. Es muss die richtigen Spaltennamen und -typen haben, und es muss Indizes für die referenzierten Schlüssel haben, wie bereits erwähnt. Wenn diese nicht erfüllt sind, gibt MySQL Fehler 1005 zurück und verweist auf Fehler 150 in der Fehlermeldung, was bedeutet, dass eine Fremdschlüsselbeschränkung nicht korrekt gebildet wurde. Wenn ALTER TABLE aufgrund von Fehler 150 fehlschlägt, bedeutet dies in ähnlicher Weise, dass eine Fremdschlüsseldefinition für die geänderte Tabelle falsch gebildet wird.