Angenommen, Ihre Datenbank läuft mit den Standardeinstellungen, bin ich eher überrascht, dass Ihre SELECT
immer gibt zwei verschiedene Werte zurück.
Die Dokumentation sagt dies
Wenn also der Standardwert REPEATABLE READ
Isolationsstufe aktiv ist, würde ich erwarten, dass alle Abfragen Daten zurückgeben, die mit dem Status der Datenbank zum Zeitpunkt der ersten Abfrage konsistent sind.
Es klingt jedoch so, als könnte dies hilfreich sein
Ich denke, du solltest es versuchen
$O_dbh->do('SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED');
unmittelbar nach der Verbindung und sehen Sie, ob das die Dinge für Sie behebt.
Sie sollten jedoch sicherstellen, dass Sie entweder disconnect
das Datenbank-Handle nach dieser Transaktion oder setzen Sie es auf die vorherige Isolationsstufe zurück. Andernfalls erhalten Sie uneinheitliche Ergebnisse.