MYSQL ERROR 1093 – You can’t specify target table for update/delete in FROM clause 20. Juni 2012

In MYSQL kann bei UPDATE/DELETE leider nicht die aktuell genutzte Tabelle nochmal in der WHERE(SELECT) Clausel benutzt werden.
(Beschrieben in http://dev.mysql.com/doc/refman/5.6/en/update.html)

Folgendes Statement wird in einem MYSQL ERROR 1093 enden.

DELETE FROM `table` WHERE CID IN (
 SELECT DISTINCT CID FROM `table` GROUP BY COLUMN1, ... ,COLUMN4 HAVING COUNT(*) > 1
 )

Mit einem verschachtelten Subquery kommt man aber ans Ziel.

DELETE FROM `table` WHERE CID IN (
 SELECT CID FROM (SELECT DISTINCT CID FROM `table` GROUP BY COLUMN1, ... ,COLUMN4 HAVING COUNT(*) > 1) AS tmptable
 )