Zunächst einmal vorausgesetzt, id ist ein Primärschlüssel oder zumindest eine indizierte Spalte.
Einfügen sollte die Tabelle nicht sperren, daher besteht die Möglichkeit, dass eine andere Aktualisierungs-/Löschabfrage gleichzeitig mit dem Löschen der Datensätze ausgeführt wird.
Wenn dies nicht der Fall ist, kann es an "Gap Locking" liegen, wie bei @a_horse_with_no_name.
erwähntWenn Sie dieses Problem erneut erhalten, müssen Sie alle Prozesse "vollständige Prozessliste anzeigen" an Ihrem Ende speichern und auch "Innodb-Status der Engine anzeigen" aktivieren, wo Ihnen Prozess-IDs im Zusammenhang mit Deadlocks angezeigt werden. Dies hilft Ihnen, genau zu werden Problem.
Außerdem können Sie diese Sperre vermeiden, um alle Zeilen nacheinander basierend auf dem Primärschlüssel zu löschen.