MySQL no puede leer y borrar una tabla al mismo tiempo, en la misma consulta, por lo que para hacer esa depuración lo mejor sería trabajar con una tabla temporary y al menos dos consultas: Una crea la tabla con los ID de los registros que deben mantenerse, y el otro realiza la eliminación. Como las tablas TEMPORARY no son permanentes, no generarán conflictos al cerrase la conexión.
Esa es la opción que a mi me parece más viable.
Es un: