sql >> Database teknologi >  >> RDS >> Mysql

Spor ikke-deterministiske MySQL-fejl i Perl

Forudsat at din database kører med standardindstillingerne, er jeg mere overrasket over, at din SELECT nogensinde returnerer to forskellige værdier.

Dokumentationen siger dette

Så hvis standarden REPEATABLE READ isolationsniveau er i kraft, ville jeg forvente, at alle forespørgsler ville returnere data, der stemmer overens med databasens tilstand på tidspunktet for den første forespørgsel.

Det lyder dog som om, at dette kan hjælpe

Jeg synes du skal prøve

$O_dbh->do('SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED');

umiddelbart efter forbindelsen, og se, om det løser tingene for dig.

Du skal dog sørge for enten at disconnect databasehåndtaget efter denne transaktion eller returner det til det tidligere isolationsniveau. Ellers vil du begynde at få inkonsistente resultater.




  1. PostgreSQL:fra OID til Bytea

  2. Forespørg to tabeller fra forskellige skemaer

  3. Lagring af MS SQL Server-legitimationsoplysninger i en MySQL-database

  4. Mysql ændre UNSIGNED attribut til specifik kolonne