Właściwie PDO::beginTransaction()
przestrzega tych samych zasad, co START TRANSACTION
oświadczenie w MySQL, więcej informacji tutaj
.
Oznacza to, że MySQL nie zablokuje tabeli natychmiast, ale będzie postępować zgodnie z ACID zasady.
Pamiętaj, że jeśli potrzebujesz jawnie zablokować niektóre tabele, możesz to zrobić:
$db->beginTransaction();
$db->exec('LOCK TABLES t1, t2, ...');