J'ai essayé :
UPDATE closure JOIN item ON ( item_id = id )
SET checked = 0
WHERE ancestor_id = 1
Et:
UPDATE closure, item
SET checked = 0
WHERE ancestor_id = 1 AND item_id = id
Les deux fonctionnent avec MySQL, mais ceux-ci me donnent une erreur de syntaxe dans SQLite.
Comment faire fonctionner cette UPDATE / JOIN avec SQLite version 3.5.9?
sqlite
join
sql-update
e-satis
la source
la source
Réponses:
Vous ne pouvez pas. SQLite ne prend pas en charge les JOIN dans les instructions UPDATE .
Mais vous pouvez probablement le faire avec une sous-requête à la place:
Ou quelque chose comme ça; on ne sait pas exactement quel est votre schéma.
la source
update foos join bars on bars.foo_id = foos.id set foos.bar_id = bars.id
, puis déposer la colonne bars.foo_id ... comment cela pourrait-il être fait dans SQLite? Si quelqu'un sait, je pourrais certainement l'utiliser.Vous pouvez également utiliser REPLACE puis vous pouvez utiliser la sélection avec des jointures. Comme ça:
la source