Rozwiązanie opisane tu przez Chrisa White'a pracował dla mnie.
Główny problem polega na tym, że MySQL tworzy zarówno indeks, jak i klucz obcy. Oba muszą zostać usunięte (najpierw klucz obcy wbrew temu, co powiedział Chris).
-
pokaż utwórz tabelę nazwa_tabeli;
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 |
-
Usuń ograniczenie klucza obcego:
ALTER TABLE table_name DROP FOREIGN KEY `table_name_ibfk_1`;
-
Usuń klucz
ALTER TABLE table_name DROP KEY `column_tablein_26440ee6`;
To zrobiło to dla mnie.