我正在使用Postgres14并编写sql查询,以便在tag
表中插入新行:
id | team_id | 名称 |
---|---|---|
2 | 4 | 伦敦
这是不正确的语法:
INSERT INTO team_member_tag (team_member_id, tag_id)
VALUES
( :workspaceMemberId,
(select id from tag)
)
因为select id from tag
可以获取许多记录,但内部值必须只有一个值。
对于向表中插入多行,您可以使用以下语法,例如:
INSERT INTO team_member_tag (tag_id)
select id from tag
但是,如果您需要在team_member_tag
表中插入仅插入的标记值,则可以使用以下语法:
with t1 as (
INSERT INTO tag (team_id, name) VALUES (:teamId,:name)
RETURNING id
)
insert into team_member_tag (team_member_id, tag_id)
select 10, t1.id from t1
10-team_member_id
字段的样本值。