Tout d'abord, en supposant que id est une clé primaire ou au moins une colonne indexée.
L'insertion ne doit pas verrouiller la table, il est donc probable qu'une autre requête de mise à jour/suppression s'exécute en même temps que la suppression des enregistrements.
Si ce n'est pas le cas, cela peut être dû à un "verrouillage d'espace" comme mentionné @a_horse_with_no_name.
Donc, à quel moment vous rencontrez à nouveau ce problème, vous devez stocker tous les processus "afficher la liste complète des processus" de votre côté et également vérifier "afficher l'état innodb du moteur" où il vous montrera les ID de processus liés au blocage, cela vous aidera à obtenir exact problème.
De plus, vous pouvez éviter ce verrouillage pour supprimer toutes les lignes une par une en fonction de la clé primaire.