php - 是的,另一个 ON DUPLICATE KEY UPDATE 查询

标签 php mysql on-duplicate-key

我已经阅读了这里的所有问题,但我仍然不明白

我有两个相同的相当大的 table 。我想使用 packages_sorted_temp 中的数据更新表 packages_sorted,而不破坏 packages_sorted

上的现有数据

packages_sorted_temp仅包含2列db_idquality_rank的数据

packages_sorted包含所有35列的数据,但quality_rank为0

每个表上的主键是db_id,这就是我想要触发ON DUPLICATE KEY UPDATE的内容。

本质上,如何合并这两个表并将 packages_sorted.quality_rank 0 更改为存储在 packages_sorted_temp 中的 quality_rank 同一主键下

这是不起作用的

INSERT INTO `packages_sorted` ( `db_id` , `quality_rank` )
SELECT `db_id` , `quality_rank`
FROM `packages_sorted_temp` ON DUPLICATE
KEY UPDATE `packages_sorted`.`db_id` = `packages_sorted`.`db_id` 

最佳答案

update packages_sorted , packages_sorted_temp 
set packages_sorted.quality_rank = packages_sorted_temp.quality_rank 
where packages_sorted.db_id = packages_sorted_temp.db_id 

关于php - 是的,另一个 ON DUPLICATE KEY UPDATE 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8284686/

相关文章:

mysql - 为什么在违反唯一键约束而不是主键约束时 MySQL 中会出现自动增量间隙?

php - Ubuntu 13.10 Symfony 安装日期时间问题

php - 我使用循环填充 <select> 选项,如何使选择框显示当前选项而不是最高值?

mysql - 条件是重复 key 更新无法正常工作

mysql - 数据库不可知 'or' Rails 4.2 Active Record 中的查询

mysql - 交替日期和付款单元格的搜索范围

php - Mysql ON DUPLICATE KEY 错误

JavaScript for HTML5 必填字段设置为在 Safari 中工作

javascript - 第二次单击时取消选中单选按钮

mysql - 在 MySQL 中创建过程时如何使 ORDER BY 工作?