У меня есть эта тестовая таблица с одной записью строки и 2 индексами, сначала первичный ключ, а затем уникальный индекс для столбцов a и b:
CREATE TABLE IF NOT EXISTS `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`a` int(11) NOT NULL,
`b` int(11) NOT NULL,
`c` int(11) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `a` (`a`,`b`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
--
-- Dumping data for table `test`
--
INSERT INTO `test` (`id`, `a`, `b`, `c`) VALUES
(1, 1, 2, 3);
Теперь я пытаюсь сделать следующее
INSERT INTO test
(a, b, c)
VALUES (1, 2, 100)
ON DUPLICATE KEY UPDATE c = c
И я ожидал, что значение для столбца c будет обновлено с формы 3 до 100. Но это не произошло, и я не получаю ошибок.
Что я делаю не так?