Mysql 插入中的SQL子查询?
可以在INSERT语句中使用子查询吗Mysql 插入中的SQL子查询?,mysql,sql,insert,subquery,Mysql,Sql,Insert,Subquery,可以在INSERT语句中使用子查询吗 INSERT INTO table (age, p_id) VALUES('22', '(SELECT id FROM people WHERE name='Bob')') 我正在尝试的有一种工作形式吗 使用MySQL数据库 INSERT INTO MyTable (age, p_id) SELECT '22', ( select id from people where name = 'bob') 或者你可以这样做 INSERT INTO MyTab
INSERT INTO table (age, p_id)
VALUES('22', '(SELECT id FROM people WHERE name='Bob')')
我正在尝试的有一种工作形式吗
使用MySQL数据库
INSERT INTO MyTable (age, p_id)
SELECT '22', ( select id from people where name = 'bob')
或者你可以这样做
INSERT INTO MyTable (age, p_id)
SELECT '22', id
FROM people
WHERE name = 'bob'
应该是
INSERT INTO table (age, p_id)
SELECT '22', people.id
FROM people
WHERE people.name = 'bob
或者更好
INSERT INTO table (age, p_id)
SELECT '22',id FROM people WHERE name='Bob'
SQL只是结构化查询语言-一种被许多数据库系统使用的语言,但不是一种数据库产品。。。很多东西都是特定于供应商的-因此我们确实需要知道您使用的是什么数据库系统(以及哪个版本)(请相应地更新标记)…您应该使用select而不是select,不需要子查询<代码>插入MyTable(年龄,p_id)选择“22”,id来自姓名=“bob”文本值
22
可以直接进入选择列表。@MichaelBerkowski我同意我知道不需要子查询,我试着使用在persons问题中使用的相同结构,使他们更容易理解。这将显示OP bad语法。最好向他们展示良好的结构。第二种方法更可取。
INSERT INTO table (age, p_id)
SELECT '22',id FROM people WHERE name='Bob'