Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.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
Mysql 插入中的SQL子查询?_Mysql_Sql_Insert_Subquery - Fatal编程技术网

Mysql 插入中的SQL子查询?

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语句中使用子查询吗

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'