我已經和bar
一個多到多間foo
與foo_id
和bar_id
建模爲表foo_bar
。轉換一個多到許多關係到一個一對多PostgreSQL中
我現在想把它建模爲一對多(我的數據允許)。
我已將foo_id
列添加到bar
但現在我想遷移我的數據。所以,我想
UPDATE bar SET foo_id = f where id = b;
每個f
和b
對從
SELECT foo_id AS f, bar_id AS b FROM foo_bar;
未來是否有可能做到這一點的SQL(特別的PostgreSQL 9.0)?
我知道如何在只有一個值的情況下在UPDATE中執行子SELECT,但在這種情況下難以做到。
應該最後一行fb.bar_id = b.id? –
@JamesTauber:不可以。模型中不應該有'id'。使用非描述性列名「id」是反模式。主鍵應該命名爲'bar_id'。 –
足夠公平,只是將它映射到我的問題的具體細節 –