我有一个像其中一个数据库:我可以在SQL UPDATE内部有一个SELECT吗?
表foo
有列id
和name
表bar
有列id
和foo_id
我有一个foo.name
传入HTTP查询,我想插入一行到bar
与bar.foo_id
适当设置。因此,举例来说:
> SELECT * FROM foo;
id name
------ -------
1 "Andrey"
(1 row)
> SELECT * FROM bar;
(0 rows)
鉴于"Andrey"
,有没有一个单一的查询我能够执行来获得:
> SELECT * FROM bar;
id foo_id
------ -------
1 1
(1 row)
我的线沿线的思考:
> UPDATE bar SET foo_id=(SELECT id FROM foo WHERE foo.name=?)
但这似乎是错误的,因为SELECT的返回集,而不是值...