我有一个主表(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,每次都向上。
我需要用 t1.id 更新 t2.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