समाधान का वर्णन यहां क्रिस व्हाइट द्वारा किया गया है मेरे लिए काम किया।
मूल समस्या यह है कि MySQL एक इंडेक्स और एक विदेशी कुंजी दोनों बनाता है। दोनों को हटा दिया जाना चाहिए (क्रिस ने जो कहा उसके विपरीत विदेशी कुंजी पहले)।
-
तालिका बनाएं तालिका_नाम दिखाएं;
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 |
-
विदेशी कुंजी बाधा हटाएं:
ALTER TABLE table_name DROP FOREIGN KEY `table_name_ibfk_1`;
-
कुंजी हटाएं
ALTER TABLE table_name DROP KEY `column_tablein_26440ee6`;
वो मेरे लिए किया गया।