【发布时间】:2020-08-31 11:51:32
【问题描述】:
我想在我的应用中插入新角色,但仅限于几个用户。我可以通过 select 语句获取他们所有的 id。
所以他们所有人的角色都是'COOL_ROLE'
表account_role 的角色看起来像
+------------+-------+
| account_id | roles |
+------------+-------+
我的语句应该只插入许多具有相同角色的 id 我试过了
INSERT INTO accout_role (accout_id, roles)
VALUES((SELECT..),'COOL_ROLE')
但我收到错误org.jkiss.dbeaver.model.sql.DBSQLException: SQL Error [21000]: ERROR: more than one row returned by a subquery used as a expression
当我删除表达式中的 () 时
INSERT INTO accout_role (accout_id, roles)
VALUES(SELECT..,'COOL_ROLE')
我得到 org.jkiss.dbeaver.model.sql.DBSQLException: SQL Error [42601]: ERROR: syntax error at or near "select"
如何插入多个具有相同角色的 id?
【问题讨论】:
-
不要使用
VALUES。您可以将SELECT的输出直接用作INSERT的源,根据需要添加新列。 -
直接使用
SELECT。VALUES仅用于显式指定值
标签: sql postgresql