2
У меня есть таблица вроде этого:Обновление MySQL: Дублированный уникальный ключ # 1062
CREATE TABLE IF NOT EXISTS `activity` (
`ID` int(8) NOT NULL AUTO_INCREMENT,
`action` tinyint(1) NOT NULL,
`userID` int(8) NOT NULL,
`categoryID` int(8) NOT NULL,
PRIMARY KEY (`ID`),
UNIQUE KEY `UNIQUE` (`userID`,`categoryID`),
KEY `categoryID` (`categoryID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2 ;
С следующей информацией:
INSERT INTO `activity` (`ID`, `action`, `userID`, `categoryID`) VALUES
(1, 2, 11, 312);
Я пытаюсь выполнить этот запрос:
UPDATE `activity` SET `action` = '3' WHERE `userID` = '11' AND `categoryID` = '312' ;
И ответьте мне на это:
Duplicate entry '11-312' for key 'UNIQUE'
Я не знаю почему. Я не изменяю уникальные ключи или не вставляю новую запись. В чем проблема?
Спасибо.
Я попытался воспроизвести, но обновление работает для меня. Какой клиент вы используете? – t777
У вас есть триггер на вашем столе? – Mihai