问题
我有一个表parent_id
和child_id
,它们是互斥的,所以自然它们应该只是一个值,而不是两个。我需要将它们替换为external_id
.
因此,任何子 id 现在都将成为外部 id,任何父 id 也将成为外部 id。
如何让 postgres 将 id 转换为新列?
凌乱的,潜在的解决方案
唯一想到的是在几个非常混乱的步骤中执行此操作,但我希望有更好的方法:
创建一个新列,
external_ids
.将所有子 ID 和父 ID,即使它们为 null 打印到一系列 UPDATE 字符串中,例如
UPDATE table SET external_id = "<parent or child id>" WHERE row_id = <row_id>
单独运行每个更新字符串,这似乎需要很长时间,所以这就是为什么我认为必须有更好的方法。
检查合并功能。