J'ai une base de données comme où:Puis-je avoir un SELECT interne à l'intérieur d'un SQL UPDATE?
Tableau foo
a colonnes id
et name
Tableau bar
a colonnes id
et foo_id
J'ai une requête HTTP entrant avec un foo.name
, je voudrais insérer une ligne en bar
avec bar.foo_id
réglé de manière appropriée. Ainsi, par exemple:
> SELECT * FROM foo;
id name
------ -------
1 "Andrey"
(1 row)
> SELECT * FROM bar;
(0 rows)
Compte tenu "Andrey"
, est-il une seule requête que je peux exécuter pour obtenir:
> SELECT * FROM bar;
id foo_id
------ -------
1 1
(1 row)
Je pensais le long des lignes de:
> UPDATE bar SET foo_id=(SELECT id FROM foo WHERE foo.name=?)
Mais cette semble être faux, comme les ensembles de retour de SELECT, pas des valeurs ...