sqlite - 如何使用subselect插入记录

时间:2015-05-12 20:13:12

标签: 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));

我正在尝试通过从group_members表中选择group_id的值,然后传入{{1}的值,将记录插入到user表中}。

member_id

其中281是我试图传递的成员ID。

但是我收到以下错误消息:

  

错误:靠近“select”:语法错误

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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