【发布时间】:2017-10-26 22:41:37
【问题描述】:
我正在使用 PostgreSQL。
我有桌子 A、B、C 和 D。
表 A 有一个指向表 B 的外键(一对多)。
表 C 和 D 具有表 A 的外键(一对多)。 所以它看起来像:
B :-> A :-> C & D
现在我想添加一个中间表 E 来建立关系:
E :-> C & D(一对多)
B -> E(与 fk 一对一)
B :-> A(一对多)
我需要它来引入表 F,它也将具有表 E 的外键。
表 E 只有一个标识列“id”。
现在我必须编写一个迁移,但不知道如何将行添加到 E 并同时更新 B
在伪 SQL 中它必须看起来像:
更新 B SET A_id = id 插入 A (id)
【问题讨论】:
-
我不清楚你的问题。你只需要交易吗?
BEGIN; INSERT...; UPDATE ...; COMMIT;
标签: database postgresql