Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Was bedeutet MySQL-Fehler 1025 (HY000):Fehler beim Umbenennen von „./foo“ (Fehlernummer:150)?

Normalerweise erhalten Sie diesen Fehler, wenn Ihre Tabellen die InnoDB-Engine verwenden. In diesem Fall müssten Sie den Fremdschlüssel löschen und dann die Tabelle ändern und die Spalte löschen.

Aber der knifflige Teil ist, dass Sie den Fremdschlüssel nicht mit dem Spaltennamen löschen können, sondern stattdessen den Namen finden müssten, der verwendet wird, um ihn zu indizieren. Geben Sie dazu Folgendes aus:select:

SHOW CREATE TABLE-Region;

Dies sollte Ihnen den Namen des Indexes zeigen, etwa so:

EINSCHRÄNKUNG region_ibfk_1 FOREIGNKEY (country_id ) REFERENZENcountry (id ) BEI LÖSCHEN KEINE AKTION BEI AKTUALISIEREN KEINE AKTION

Geben Sie jetzt einfach ein:

aus

Ändere die Tabellenregion und lösche den Fremdschlüsselregion_ibfk_1;

Und zum Schluss noch ein:

ändern Sie die Tabellenregion drop columncountry_id;

Und schon kann es losgehen!