sql >> Database >  >> RDS >> Mysql

Volg niet-deterministische MySQL-fouten in Perl

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.




  1. De tekstvakwaarden behouden, zelfs na vernieuwen

  2. Gegevens versleutelen in Oracle met PL SQL

  3. Android-applicatie om afbeelding naar MySQL te verzenden

  4. Dump naar CSV/Postgres-geheugen