sql >> Databasteknik >  >> RDS >> Mysql

Förorsakar PDO::beginTransaction() tabell- eller radlåsning tills PDO::commit()?

Faktiskt PDO::beginTransaction() följer samma regler som en START TRANSACTION uttalande i MySQL, mer info här .

Detta innebär att MySQL inte kommer att låsa tabellen omedelbart, utan kommer att följa ACID regler.

Observera att om du behöver explicit låsa vissa tabeller kan du göra:

$db->beginTransaction();
$db->exec('LOCK TABLES t1, t2, ...');


  1. tillhör många relationer i Laravel över flera databaser

  2. Optimera ett lagrat funktionsanrop i SELECT- och WHERE-satser

  3. Sammanfoga JSONB-värden i PostgreSQL?

  4. MySQL korrumperar efter varje omstart av servern