mysql - PHP MySQL INSERT ON DUPLICATE KEY UPDATE 不起作用

标签 mysql duplicates

我的查询:

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 将指定列更新为值。您正在将已为 1922article_id 更新为 1922。查看官方reference .

关于mysql - PHP MySQL INSERT ON DUPLICATE KEY UPDATE 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53673350/

相关文章:

java - 如何将 MySQL 的 DATE_ADD 与 JPA 条件一起使用?

php - 在 PHP while 循环中获取变量值的总和

javascript - 如何检查对象数组是否具有具有更多属性的重复属性值?

php - 图片“http ://localhost/chart/graph. php”无法显示,因为它在 PHPGraphLib 中包含错误

php - 奇怪的日期问题

R:自动计算秩和

javascript - textarea 重复字符串检查忽略前导和尾随空格

c++ - 为什么在另一个文件中声明此公共(public)成员函数时会得到重复的符号? (C++)

php - 索引列但保持快速插入

c# - 使用 C#.NET 4.0 LINQ 从数组中删除重复项?