Всъщност PDO::beginTransaction()
следва същите правила като START TRANSACTION
изявление в MySQL, повече информация тук
.
Това означава, че MySQL няма да заключи таблицата незабавно, а ще следва ACID правила.
Имайте предвид, че ако трябва изрично да заключите някои таблици, можете да направите:
$db->beginTransaction();
$db->exec('LOCK TABLES t1, t2, ...');