我的查询:
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 行并且没有更新。
最佳答案
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
将指定列更新为值。您正在将已为 1922
的 article_id
更新为 1922
。查看官方reference .
关于mysql - PHP MySQL INSERT ON DUPLICATE KEY UPDATE 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53673350/