使用 PostgreSQL v9.1。我有以下表格:
CREATE TABLE foo
(
id BIGSERIAL NOT NULL UNIQUE PRIMARY KEY,
type VARCHAR(60) NOT NULL UNIQUE
);
CREATE TABLE bar
(
id BIGSERIAL NOT NULL UNIQUE PRIMARY KEY,
description VARCHAR(40) NOT NULL UNIQUE,
foo_id BIGINT NOT NULL REFERENCES foo ON DELETE RESTRICT
);
Run Code Online (Sandbox Code Playgroud)
假设第一个表foo
是这样填充的:
INSERT INTO foo (type) VALUES
( 'red' ),
( 'green' ),
( 'blue' );
Run Code Online (Sandbox Code Playgroud)
有没有办法bar
通过引用foo
表轻松插入行?或者我必须分两步完成,首先查找foo
我想要的类型,然后在其中插入一个新行bar
?
这是一个伪代码示例,显示了我希望可以完成的工作:
INSERT INTO bar (description, foo_id) VALUES
( …
Run Code Online (Sandbox Code Playgroud)