Ervan uitgaande dat uw database draait met de standaardinstellingen, ben ik meer verbaasd dat uw SELECT
ooit geeft twee verschillende waarden terug.
De documentatie zegt dit
Dus, als de standaard REPEATABLE READ
isolatieniveau van kracht is, zou ik verwachten dat alle query's gegevens zouden retourneren die consistent zijn met de status van de database op het moment van de eerste query.
Het klinkt echter alsof dit kan helpen
Ik denk dat je het moet proberen
$O_dbh->do('SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED');
onmiddellijk na de verbinding, en kijk of dat dingen voor je oplost.
U moet er echter voor zorgen dat u ofwel disconnect
de database verwerkt na deze transactie of zet deze terug naar het vorige isolatieniveau. Anders krijg je inconsistente resultaten.