【发布时间】:2025-12-07 05:15:02
【问题描述】:
以前有人问过这个问题,但他们都提到了单键而不是复合键,并且解决方案似乎对我不起作用。基本上,请考虑下表:
CREATE TABLE IF NOT EXISTS `my_answers` (
`id` int(11) NOT NULL auto_increment,
`question_id` int(11) NOT NULL default 0,
`user_id` int(11) NOT NULL default 0,
PRIMARY KEY (`id`),
UNIQUE KEY (`question_id`, `user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
在这种情况下,如何删除由 question_id 和 user_id 组成的唯一键?我尝试了以下方法:
ALTER TABLE my_answers DROP INDEX `UNIQUE`;
和
在 my_answers 上删除索引 UNIQUE;
两者都不起作用,抛出以下错误“#1091 - Can't DROP 'UNIQUE'; check that column/key exists”
非常感谢任何帮助,谢谢!
【问题讨论】:
-
请为每个键命名:
UNIQUE KEY some_name (question_id, user_id),这将使您的表在未来更易于使用......就像您需要删除一个键时...... -
如果我是制作表格的人,我会的 :) CMS 环境等
-
正如我后来所说:尝试以下命令:
show index from my_answers;然后检查索引的键名并按其名称删除它。