0
我有一个表:SQL如何使用新的唯一值替换数千唯一值的
key, value
1, ...
2, ...
3, ...
我现在需要更换几千键
oldkey, newkey
1, 4
3, 7
结果
key, value
4, ...
2, ...
7, ...
有没有一种实用的方法来做到这一点,而没有成千上万的更新查询? 会高性能吗?
我有一个表:SQL如何使用新的唯一值替换数千唯一值的
key, value
1, ...
2, ...
3, ...
我现在需要更换几千键
oldkey, newkey
1, 4
3, 7
结果
key, value
4, ...
2, ...
7, ...
有没有一种实用的方法来做到这一点,而没有成千上万的更新查询? 会高性能吗?
你可能需要内部联接
SELECT b.newkey,a.value
FROM OLDKEYS a INNER JOIN NEWKEYS b
ON a.key = b.oldkey;
如果有需要,你可以使用这个逻辑的更新以及
与内更新他们加入,如:
UPDATE upd
SET upd.key = mapping_table.newkey
FROM table_to_update upd
INNER JOIN mapping_table
ON upd.key = mapping_table.oldkey
任何旧值都会显示为新值吗? – jarlh
不,旧的和新的值都将是唯一的(它们实际上是哈希值) – Chris