Frage

Wenn ich ausführen die folgende Abfrage wirft es einen Fehler,

alter table `ttis`.`users` 
add constraint `FK_Role_ID` FOREIGN KEY (`ROLE_ID`) REFERENCES `roles` (`ROLE_ID`)

Fehler:

Error Code : 1005
Can't create table 'ttis.#sql-9c_8a' (errno: 150)
War es hilfreich?

Lösung

Haben Sie einen Blick auf diesen Beitrag: 13.6.4.4. Fremdschlüssel-Beschränkungen und die Suche nach „150“. Es heißt hier:

  

Wenn Sie eine Tabelle neu erstellen, das war   Aussetzern, muss es eine Definition haben   das entspricht den Fremdschlüssel   Einschränkungen Referenzierung es. Es muss   haben das Recht, Spaltennamen und -typen,   und es müssen Indizes für die   referenzierten Schlüssel, wie bereits erwähnt. Wenn   diese nicht erfüllt sind, MySQL Renditen   Fehlernummer 1005 und bezieht sich auf Fehler   150 in der Fehlermeldung.

     

Wenn MySQL meldet einen Fehlernummer 1005   von einer CREATE TABLE-Anweisung und die   Fehlermeldung bezieht sich auf Fehler 150,   Tabelle konnte nicht erstellt werden, weil ein   Fremdschlüssel nicht   korrekt gebildet. Und falls ein   ALTER TABLE schlägt fehl, und es bezieht sich auf   Fehler 150, das bedeutet, ein Fremdschlüssel   Definition würde falsch gebildet   für die geänderte Tabelle. Sie können verwenden   SHOW ENGINE BDB STATUS Anzeige ein   detaillierte Erklärung der meisten   den letzten InnoDB Fremdschlüssel Fehler in der   Server.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top