Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sqlite-如何使用子选择插入记录_Sql_Sqlite_Subquery - Fatal编程技术网

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

sqlite-如何使用子选择插入记录,sql,sqlite,subquery,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_id的值,然后传入member_id的值,将记录插入group_members表 其中281是我试图传递的成员id 但我收到以下错误消息: 错误:近选择

我有下表:

CREATE TABLE group_members(id integer primary key AUTOINCREMENT, group_id integer, member_id integer, FOREIGN KEY (member_id) REFERENCES users(id));
我试图通过从用户表中选择group_id的值,然后传入member_id的值,将记录插入group_members表

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

但我收到以下错误消息:

错误:近选择:语法错误


你能给我指一下正确的方向吗

子查询必须写在括号中。查询中的括号已属于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';

我必须检查它的文档,看看SQLite是否接受值列表中的子查询,但如果它接受,我希望您需要将子查询括在它自己的括号中。尝试以下操作:插入组成员组id,成员id值选择来自用户的id,其中代码='12345',位置='multiple',281不确定SQLite是否支持此操作,“但这是我的出发点。”约翰伯林格说。谢谢
INSERT INTO group_members (group_id, member_id)
SELECT id, 281 FROM users WHERE code ='12345' AND location='multiple';