Die beschriebene Lösung hier von Chris White hat bei mir funktioniert.
Das Grundproblem besteht darin, dass MySQL sowohl einen Index als auch einen Fremdschlüssel erstellt. Beide müssen entfernt werden (der Fremdschlüssel zuerst im Gegensatz zu dem, was Chris gesagt hat).
-
show create table tabellenname;
SHOW CREATE TABLE `table_name`: | table_name | CREATE TABLE `table_name` ( `id` int(20) unsigned NOT NULL auto_increment, `key_column` smallint(5) unsigned default '1', KEY `column_tablein_26440ee6` (`key_column`), <--- shows key name CONSTRAINT `table_name_ibfk_1` FOREIGN KEY (`key_column`) REFERENCES <--- shows foreign key constraint name `second_table` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
-
Löschen Sie die Fremdschlüsseleinschränkung:
ALTER TABLE table_name DROP FOREIGN KEY `table_name_ibfk_1`;
-
Löschen Sie den Schlüssel
ALTER TABLE table_name DROP KEY `column_tablein_26440ee6`;
Das hat es für mich getan.