Supponendo che il tuo database funzioni con le impostazioni predefinite, sono più sorpreso che il tuo SELECT
sempre restituisce due valori diversi.
La documentazione dice questo
Quindi, se il valore predefinito REPEATABLE READ
livello di isolamento è attivo, mi aspetto che tutte le query restituiscano dati coerenti con lo stato del database al momento della prima query.
Tuttavia, sembra che questo possa aiutare
Penso che dovresti provare
$O_dbh->do('SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED');
subito dopo la connessione e verifica se questo risolve le cose per te.
Tuttavia, dovresti assicurarti di disconnect
l'handle del database dopo questa transazione o riportarlo al livello di isolamento precedente. Altrimenti inizierai a ottenere risultati incoerenti.