我有這個表:不能刪除或者添加主鍵
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不止一個。所以首先你應該首先處理這種情況,然後你可以創建兩者的組合鍵。 –