Först och främst antar att id är en primärnyckel eller åtminstone en indexerad kolumn.
Insert ska inte låsa tabellen, så chansen är stor att någon annan uppdaterings-/raderingsfråga körs samtidigt som posterna tas bort.
Om det inte är fallet kan det bero på "gap locking" som nämnt @a_häst_med_inget_namn.
Så när du får det här problemet igen måste du lagra alla processer "visa fullständig processlista" i slutet och även kontrollera "visa motorns innodb-status" där det kommer att visa dig processider relaterade till dödläge, detta hjälper dig att få exakt problem.
Ytterligare Du kan undvika denna låsning för att radera alla rader en efter en baserat på primärnyckel.