Preparé 2 archivos, "1.php" y "2.php".La transacción SQLite no funciona como se esperaba
"1.php" es como esto.
<?php
$dbh = new PDO('sqlite:test1');
$dbh->beginTransaction();
print "aaa<br>";
sleep(55);
$dbh->commit();
print "bbb";
?>
y "2.php" es como esto.
<?php
$dbh = new PDO('sqlite:test1');
$dbh->beginTransaction();
print "ccc<br>";
$dbh->commit();
print "ddd";
?>
y exijo "1.php". Inicia una transacción y espera 55 segundos.
Así que cuando súbitamente excute "2.PHP", mi expectativa es la siguiente:
- "1.php" es cada transacción y
- "1" bloqueo mantiene una base de datos
- "2 "no se puede iniciar una transacción
- '2' no se puede obtener el bloqueo de base de datos de modo
- '2' tienen que esperar 55 segundos
PERO, pero la prueba fue de otra manera. Cuando excute "2", a continuación,
- "2" inmediatamente devuelto es resultado
- "2" no espere
por lo que tienen que pensar que "1" no pudo conseguir transacción, o no pudo obtener el bloqueo de la base de datos.
¿Alguien puede ayudar?