PostgreSQL如何根据关联表A的no字段填充表B新增的no字段
PostgreSQL跨表更新字段方案
你可以使用PostgreSQL支持的UPDATE ... FROM语法实现跨表关联更新,具体SQL如下:
UPDATE table_b b SET no = a.no FROM table_a a WHERE b.name = a.name;
注意事项
- 由于表B的
name是关联表Aname的外键,不存在表B中name匹配不到表A记录的情况,不会出现更新后no为空的问题 - 建议执行更新前先运行以下查询校验关联结果是否符合预期,避免误操作:
SELECT b.name, b.no AS 当前b表no值, a.no AS 待更新的目标no值 FROM table_b b INNER JOIN table_a a ON b.name = a.name;
确认查询返回的目标no值和你预期的结果一致后,再执行更新语句即可。
内容的提问来源于stack exchange,提问作者user15397083
相关产品推荐
相关产品推荐

