Ho preparato 2 file, "1.php" e "2.php".La transazione SQLite non funziona come previsto
"1.php" è come questo.
<?php
$dbh = new PDO('sqlite:test1');
$dbh->beginTransaction();
print "aaa<br>";
sleep(55);
$dbh->commit();
print "bbb";
?>
e "2.php" è come questo.
<?php
$dbh = new PDO('sqlite:test1');
$dbh->beginTransaction();
print "ccc<br>";
$dbh->commit();
print "ddd";
?>
e I excute "1.php". Inizia una transazione e attende 55 secondi.
Così, quando ho subito excute "2.php", la mia aspettativa è questo:
- "1.php" sta ottenendo delle transazioni e
- "1" vale bloccare un database
- "2 "non può iniziare una transazione
- "2" non può ottenere il blocco di database in modo
- "2" devono attendere 55 secondi
MA, ma il test è andato in un altro modo. Quando ho excute "2", quindi
- "2" immediatamente restituito è risultato
- "2" non ha aspettato
quindi devo pensare che "1" non poteva ottenere di transazione, o non è stato possibile ottenere il blocco del database.
Qualcuno può aiutare?