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