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!