【发布时间】:2016-10-28 16:53:46
【问题描述】:
我有一张表product,列product_image_path。这些部分数据需要移动到相关表image,该表有一个单独的列image_path 和一个代理键id。这些表通过外键product.image_id 关联。有没有办法将product_image_path 的所有值插入image 表并立即更新product.image_id 以引用刚刚创建的行?
这必须在 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 我现在添加了一些示例数据。
标签: sql postgresql