PostreqSQL:插入到由外键链接的 2 个表中,以便共享串行 ID



你好,我正在尝试学习Postgresql的基础知识

如何同时将数据(名称,姓氏(插入两个表中,以便串行ID连接它(相同(。然后删除连接的两个表中的一个条目。

我的表格我试图弄清楚:

CREATE TABLE user
(
"userid" serial NOT NULL,
name character varying(30),
PRIMARY KEY ("userid")
);
CREATE TABLE public.passwords
(
"userid" integer NOT NULL,
lastname character varying(30),
CONSTRAINT "user_userid" FOREIGN KEY ("userid")
REFERENCES public.user ("userid") MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE CASCADE
NOT VALID
);

您可以使用第一个插入在第二个插入中生成的序列,通过一个查询按顺序插入两个表,如下所示:

with u as (insert into users (name) values ('foo') returning userid)
insert into passwords (userid, lastname) select userid, 'bar' from u;

最新更新