Myślę, że na podstawie twoich odpowiedzi na moje komentarze naprawdę nie powinieneś się martwić ręczną obsługą blokad tabeli. InnoDB obsługuje blokowanie na poziomie wiersza, a przy włączonym automatycznym zatwierdzaniu (jak to jest domyślnie) wszystkie indywidualne zapytania są w rzeczywistości obsługiwane w sposób transakcyjny.
Teraz, jeśli masz wiele zapytań SQL, które muszą być obsługiwane jako pojedyncza transakcja (tj. Zaktualizuj jedną tabelę, a następnie zaktualizuj inną tabelę - albo obydwa się powiedzie, albo oba zostaną wycofane), wtedy będziesz musiał konkretnie rozpocząć transakcję i albo ją zatwierdzić, albo cofnij go po wykonaniu tymczasowych zapytań.
Możesz także użyć SET TRANSACTION
oświadczenie, jeśli chcesz zmienić poziom izolacji transakcji (domyślnie jest to `POWTARZALNY ODCZYT1).
Więcej informacji znajdziesz w Dokumentacja MySQL