我有这个表:不能删除或者添加主键
CREATE TABLE `event_schedule_tag` (
`event_schedule_id` bigint(20) NOT NULL,
`tag_id` bigint(20) NOT NULL,
KEY `event_schedule_id` (`event_schedule_id`),
KEY `tag_id` (`tag_id`),
CONSTRAINT `event_schedule_tag_ibfk_1` FOREIGN KEY (`event_schedule_id`) REFERENCES `event_schedule` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci
而且我想在两列添加主键。但是,当我执行
alter table event_schedule_tag add primary key(event_schedule_id, tag_id);
我得到: ERROR 1062 (23000): Duplicate entry '1130915-260' for key 'PRIMARY'
,当我执行
alter table event_schedule_tag drop primary key;
我得到: ERROR 1091 (42000): Can't DROP 'PRIMARY'; check that column/key exists
何处是路?
编辑:我得到错误信息错误。我虽然说“主键已经存在”,但其含义是:“表中有重复 - >无法创建主键”,这使得现在更加合理。 我删除了重复项,并创建了没有问题的主键。谢谢!
主键没有被创建,因为重复条目。所以,没有意义的试图放弃它。首先删除重复项。 – Kapil
请参阅http://stackoverflow.com/questions/27492732/mysql-duplicate-error-with-alter-ignoretable,这是您的问题的答案。 – Anil
'错误1062(23000):关键'PRIMARY''的重复条目'1130915-260'表示标记id为260的条目组合的日程表ID 1130915不止一个。所以首先你应该首先处理这种情况,然后你可以创建两者的组合键。 –