0
我有一个表product
,列product_image_path
。这些数据部分需要移动到相关表image
,该表有一个单独的列image_path
和代理键id
。这些表通过外键product.image_id
相关。有没有办法将product_image_path
的所有值插入到image
表中,并立即更新product.image_id
以引用刚刚创建的行?PostgreSQL:将列提取到单独的表中并使用相关密钥更新其他列
这必须在SQL或PL/pgSQL中完成,因为它是一系列数据库迁移的一部分,不允许任意编写脚本。
product:
id | product_image_path
----+-------------------
1 | foo.jpg
2 | bar.jpg
3 | foo.jpg
应该改为:
product:
id | image_id
---+---------
1 | 1
2 | 2
3 | 3
image:
id | image_path
---+-----------
1 | foo.jpg
2 | bar.jpg
3 | foo.jpg
添加一些样本表数据,在版本之前和之后。 (以及格式化文本。) – jarlh
@jarlh我现在已经添加了一些示例数据。 – amoe