Giải pháp được mô tả tại đây bởi Chris White đã làm cho tôi.
Vấn đề gốc rễ là MySQL tạo ra cả chỉ mục và khóa ngoại. Cả hai đều phải được gỡ bỏ (khóa ngoài trước tiên trái với những gì Chris đã nói).
-
hiển thị tạo bảng tên_bảng;
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 |
-
Xóa ràng buộc khóa ngoại:
ALTER TABLE table_name DROP FOREIGN KEY `table_name_ibfk_1`;
-
Xóa khóa
ALTER TABLE table_name DROP KEY `column_tablein_26440ee6`;
Điều đó đã làm nó cho tôi.