sqlite - 如何使用子选择插入记录

Hap*_*ays 1 sql sqlite subquery

我有下表:

CREATE TABLE group_members(id integer primary key AUTOINCREMENT, group_id integer, member_id integer, FOREIGN KEY (member_id) REFERENCES users(id));
Run Code Online (Sandbox Code Playgroud)

我试图通过从表中group_members选择 的值,然后传入 的值来将记录插入到表中。group_idusermember_id

 insert into group_members (group_id, member_id) 
 values (select id from users where code ='12345' and location='multiple', 281);
Run Code Online (Sandbox Code Playgroud)

其中 281 是我要传入的会员 ID。

但我收到以下错误消息:

错误:“选择”附近:语法错误

你能为我指出正确的方向吗?

CL.*_*CL. 8

子查询必须写在括号中。查询中的括号已经属于 VALUES 子句,因此您需要另一对:

INSERT INTO group_members (group_id, member_id)
VALUES ((SELECT id FROM users WHERE code ='12345' AND location='multiple'), 281);
Run Code Online (Sandbox Code Playgroud)

或者,使用另一种形式的 INSERT 语句,该语句使用查询而不是 VALUES 子句:

INSERT INTO group_members (group_id, member_id)
SELECT id, 281 FROM users WHERE code ='12345' AND location='multiple';
Run Code Online (Sandbox Code Playgroud)