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';