【发布时间】:2014-05-11 14:11:04
【问题描述】:
我正在构建一个以 Postgres 9.3 作为后端的数据库,有 3 个表:
table1 (user_id, username, name, surname, emp_date)
table2 (pass_id, user_id, password)
table3 (user_dt_id, user_id, adress, city, phone)
可以看出table2 和table3 是table1 的子表。
我可以提取table1(父级)中新插入行的user_id:
INSERT INTO "table1" (default,'johnee','john','smith',default) RETURNING userid;
我需要将新提取的 id(来自 table1)插入到 user_id 的 table2 和 table3 列以及这些表独有的其他数据中。基本上 3 X INSERT ...
我该怎么做?
【问题讨论】:
-
对于 WITH INSERT UPDATE -
with t as (insert ... returning ...) update ... set ...;语法,请参阅 stackoverflow.com/a/45465626/8690463
标签: sql postgresql insert common-table-expression