PHP MySQL INSERT ON DUPLICATE KEY UPDATE не работает - PullRequest
0 голосов
/ 07 декабря 2018

Мой запрос:

INSERT INTO `table` (`article_id`, `score_count`) VALUES (1922, '{\"1\":3,\"2\":2,\"3\":10,\"4\":2,\"5\":1}') ON DUPLICATE KEY UPDATE `article_id`= 1922

И мой столбец article_id установлен как первичный уникальный ключ.После этого я вставляю 0 строк и не обновляю.

1 Ответ

0 голосов
/ 07 декабря 2018
INSERT INTO `table` (`article_id`, `score_count`) 
VALUES (1922, '{\"1\":3,\"2\":2,\"3\":10,\"4\":2,\"5\":1}') 
ON DUPLICATE KEY 
UPDATE `score_count`= '{\"1\":3,\"2\":2,\"3\":10,\"4\":2,\"5\":1}'

Поскольку вы не хотите обновлять первичный ключ для себя.

ON DUPLICATE KEY UPDATE обновляет указанный столбец до значения, если был найден повторяющийся ключ.Вы обновляли article_id, который уже был 1922 до 1922.См. Официальный справочник .

...