Eigenlijk PDO::beginTransaction()
volgt dezelfde regels als een START TRANSACTION
verklaring in MySQL, meer info hier
.
Dit betekent dat MySQL de tabel niet onmiddellijk zal vergrendelen, maar de ACID zal volgen regels.
Merk op dat als je een aantal tafel(s) expliciet moet vergrendelen, je het volgende kunt doen:
$db->beginTransaction();
$db->exec('LOCK TABLES t1, t2, ...');