我有一个像这样的数据库:
表foo有列id,name 表bar有列id和foo_id
foo
id
name
bar
foo_id
我有一个带有的传入HTTP查询foo.name,我想bar在bar.foo_idset中适当插入一行。因此,例如:
foo.name
bar.foo_id
> SELECT * FROM foo; id name ------ ------- 1 "Andrey" (1 row) > SELECT * FROM bar; (0 rows)
给定"Andrey",是否有一个我可以执行以下查询的查询:
"Andrey"
> SELECT * FROM bar; id foo_id ------ ------- 1 1 (1 row)
我在考虑以下方面:
> UPDATE bar SET foo_id=(SELECT id FROM foo WHERE foo.name=?)
但这似乎是错误的,因为SELECT的返回集是值,而不是值…
你将不得不做
SELECT TOP 1 ID FROM foo where foo.name=?
但是除此之外,在更新中进行选择没有任何问题。