【问题标题】:PostgresSql error: more than one row returned by a subquery used as an expression [duplicate]Postgresql错误:用作表达式的子查询返回多行[重复]
【发布时间】:2019-08-30 05:48:13
【问题描述】:
我正在运行此查询,其中 rel_branding 中有超过 1 行,我想在 rel_branding_permission 中插入每条记录的brandingid。
这适用于 PostgresSQL。
insert into rel_branding_permission (brandingid,permissionid)
values((select brandingid from rel_branding), 404);
我想在我的数据库中插入这个查询作为所有品牌 ID
【问题讨论】:
标签:
sql
postgresql
sql-insert
【解决方案1】:
您应该在这里使用INSERT INTO ... SELECT,如下所示:
INSERT INTO rel_branding_permission (brandingid)
SELECT brandingid
FROM rel_branding
WHERE <some condition>
您可能希望在rel_branding_permission 表的插入中包含多个列,并且您可以通过将附加列添加到INSERT 和SELECT 来修改上述内容以满足您的需要。