आपको एक अस्थायी तालिका का उपयोग करना होगा, क्योंकि आप कुछ ऐसा अपडेट नहीं कर सकते जिसे आप चुनने के लिए उपयोग करते हैं। एक साधारण उदाहरण:
यह काम नहीं करेगा:
UPDATE mytable p1 SET p1.type= 'OFFER' WHERE p1.parent IN
(SELECT p2.id from mytable p2 WHERE p2.actu_id IS NOT NULL);
यह काम करेगा:
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);
"से (चुनें * mytable से) p2" आपकी तालिका का एक अस्थायी डुप्लिकेट बनाएगा, जो आपके अपडेट से प्रभावित नहीं होगा