Skip to content

mysql delete with subquery using a limit

So, you are want to delete entries by using a subquery and the limit and all you get back is something like the following:

This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
The solution is a little bit tricky and costs a bit performance but it is working, try the following:
DELETE FROM `my_table` WHERE `my_table`.`id` IN ( SELECT * FROM ( SELECT `my_other_table`.`id` FROM `my_other_table` WHERE `my_other_table`.`condition` = 'My condition' LIMIT 0, 100 ) as deleteTable);