Pro ostatní, kteří tuto otázku chtějí odstranit při použití dílčího dotazu, vám nechám tento příklad, jak přechytračit MySQL (i když se zdá, že si někteří lidé myslí, že to nelze udělat):
DELETE e.*
FROM tableE e
WHERE id IN (SELECT id
FROM tableE
WHERE arg = 1 AND foo = 'bar');
zobrazí vám chybu:
ERROR 1093 (HY000): You can't specify target table 'e' for update in FROM clause
Nicméně tento dotaz:
DELETE e.*
FROM tableE e
WHERE id IN (SELECT id
FROM (SELECT id
FROM tableE
WHERE arg = 1 AND foo = 'bar') x);
bude fungovat dobře:
Query OK, 1 row affected (3.91 sec)
Zabalte svůj poddotaz do dalšího poddotazu (zde pojmenovaného x) a MySQL s radostí udělá, o co požádáte.