Vlastně PDO::beginTransaction()
se řídí stejnými pravidly jako START TRANSACTION
prohlášení v MySQL, více informací zde
.
To znamená, že MySQL nezamkne tabulku okamžitě, ale bude se řídit ACID pravidla.
Všimněte si, že pokud potřebujete explicitně uzamknout některé tabulky, můžete:
$db->beginTransaction();
$db->exec('LOCK TABLES t1, t2, ...');