Du skal bruge en midlertidig tabel, fordi du ikke kan opdatere noget, du bruger til at vælge. Et simpelt eksempel:
Dette vil ikke virke :
UPDATE mytable p1 SET p1.type= 'OFFER' WHERE p1.parent IN
(SELECT p2.id from mytable p2 WHERE p2.actu_id IS NOT NULL);
Dette vil gøre jobbet:
UPDATE mytable p1 SET p1.type= 'OFFER' WHERE p1.parent IN
(SELECT p2.id from (SELECT * FROM mytable) p2 WHERE p2.actu_id IS NOT NULL);
"fra (SELECT * FROM mytable) p2" vil oprette en midlertidig duplikat af din tabel, som ikke vil blive påvirket af dine opdateringer