跨数据库SQL更新:基于城市名称同步DB2用户表城市ID
跨库更新DB2用户城市ID的SQL语句
以下是实现需求的SQL更新语句,核心逻辑是通过用户唯一标识关联两个库的用户数据,借助城市名称作为中间匹配项,将DB2用户表的城市ID替换为对应库城市表的ID:
UPDATE DB2.users u2 JOIN DB1.users u1 ON u2.user_id = u1.user_id JOIN DB1.cities c1 ON u1.city_id = c1.city_id JOIN DB2.cities c2 ON c1.city_name = c2.city_name SET u2.city_id = c2.city_id;
注意事项:
- 确保
user_id是两个数据库users表中唯一匹配用户的字段(如果你的用户标识字段不是user_id,请替换为实际字段名) - 确认两个数据库的
cities表中,城市名称是一一对应的唯一值,避免出现一个名称对应多个ID的情况导致更新异常
内容的提问来源于stack exchange,提问作者Nikolo
相关产品推荐
相关产品推荐

