Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Śledź niedeterministyczne błędy MySQL w Perlu

Zakładając, że Twoja baza danych działa z ustawieniami domyślnymi, bardziej dziwię się, że Twój SELECT kiedykolwiek zwraca dwie różne wartości.

Dokumentacja mówi to

Tak więc, jeśli domyślny REPEATABLE READ obowiązuje poziom izolacji, spodziewałbym się, że wszystkie zapytania zwrócą dane zgodne ze stanem bazy danych w momencie pierwszego zapytania.

Wygląda jednak na to, że może to pomóc

Myślę, że powinieneś spróbować

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

natychmiast po połączeniu i sprawdź, czy to rozwiąże problem.

Należy jednak pamiętać, aby disconnect uchwyt bazy danych po tej transakcji lub powrót do poprzedniego poziomu izolacji. W przeciwnym razie zaczniesz otrzymywać niespójne wyniki.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Martwa blokada MySQL InnoDB na SELECT z blokadą na wyłączność (DO AKTUALIZACJI)

  2. Uwzględnij dodatkowy licznik w zestawie wyników MySQL

  3. Jak transponować wiersze do kolumn z dużą ilością danych w BigQuery/SQL?

  4. mysql wybierz z n ostatnich wierszy

  5. Błąd:SQLSTATE[42000]:Błąd składni lub naruszenie dostępu z cakePHP