Error 1093 states that you can\'t UPDATE or DELETE using a subquery if your subquery queries the table you are deleting from.
So you can\'t do
delete
A workaround, found in http://bugs.mysql.com/bug.php?id=6980, that worked for me is to create an alias to the sub query that will return the items. So
delete from table1 where id in
(select something from table1 where condition)
would be changed to
delete from table1 where id in
(select p.id from (select something from table1 where condition) as p)