ここにあるすべての質問を読みましたが、まだわかりません
かなりのサイズの同一のテーブルが 2 つあります。既存のデータを破壊せずに のpackages_sorted
データでテーブルを更新したいpackages_sorted_temp
packages_sorted
テーブルpackages_sorted_temp
には 2 列のみのデータが含まれてdb_id
おり、quality_rank
テーブルpackages_sorted
には 35 列すべてのデータが含まれていますが、quality_rank
0 です
各テーブルの主キーはdb_id
、これでトリガーしたいものですON DUPLICATE KEY UPDATE
。
本質的に、これらの 2 つのテーブルを変更してマージするにはどうすればよいですかpackages_sorted
。quality_rank
0 から同じ主キーの下にquality_rank
格納されているpackages_sorted_temp
これが機能していないものです
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`