Ich würde denken, dass Sie sich aufgrund Ihrer Antworten auf meine Kommentare wirklich keine Gedanken über die manuelle Behandlung von Tabellensperren machen müssen. InnoDB unterstützt das Sperren auf Zeilenebene, und wenn Autocommit aktiviert ist (wie es standardmäßig der Fall ist), werden alle einzelnen Abfragen tatsächlich transaktional behandelt.
Wenn Sie nun mehrere SQL-Abfragen haben, die als eine einzige Transaktion behandelt werden müssen (dh eine Tabelle aktualisieren, dann eine andere Tabelle aktualisieren - entweder beide erfolgreich sind oder beide zurückgesetzt werden), müssen Sie eine Transaktion speziell starten und entweder festschreiben oder Setzen Sie es zurück, nachdem die vorläufigen Abfragen ausgeführt wurden.
Sie können auch SET TRANSACTION
verwenden -Anweisung, wenn Sie die Transaktionsisolationsstufe ändern müssen (standardmäßig ist sie `REPEATABLE READ1).
Weitere Informationen finden Sie in der MySQL-Dokumentation