メインテーブルが1つあります(t1)
id value group
------------------------------
5 22 1
6 55 1
7 18 2
8 11 2
そしてキャッシュテーブル(t2)
id value group
------------------------------
1 12 1
2 30 1
3 18 2
4 11 2
メインテーブルは自動インクリメントされるため、データが保存されるたびにテーブルがクリアされ、新しいIDが作成され、毎回増加します。
t2.idをt1.idで更新して、一致させる必要があります。
キャッシュテーブル(t2)に必要な結果:
id value group
------------------------------
5 12 1
6 30 1
7 18 2
8 11 2
試行1:
UPDATE t1, t2 SET t1.id=t2.id WHERE t1.id < t2.id ORDER BY id ASC
試行2:
UPDATE t1, t2 SET t1.id = t2.id WHERE t1.id IS < MIN(t2.id) ORDER BY t1.id ASC
試行3:
UPDATE t1
INNER JOIN (
SELECT
MIN(t1.id) AS ID
FROM t1
GROUP BY ID) m ON t1.ID = m.ID
INNER JOIN t2 ON t1.ID = t2.ID