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

Łącznik MySQL w języku Python — znaleziono nieprzeczytane wyniki podczas używania fetchone

Wszystko, co było potrzebne, to buffered być ustawionym na prawdę!

cursor = cnx.cursor(buffered=True)

Powodem jest to, że bez buforowanego kursora wyniki są ładowane „leniwie”, co oznacza, że ​​„pobieranie” w rzeczywistości pobiera tylko jeden wiersz z pełnego zestawu wyników zapytania. Gdy ponownie użyjesz tego samego kursora, będziesz narzekał, że nadal masz n-1 wyników (gdzie n to wartość zestawu wyników) oczekujących na pobranie. Jednak gdy używasz buforowanego kursora, łącznik pobiera WSZYSTKIE wiersze za kulisami i po prostu bierzesz jeden z łącznika, aby baza danych mysql nie narzekała.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - wymuś nieużywanie pamięci podręcznej do testowania szybkości zapytań

  2. Korzystanie z ról Nowość w MySQL 8

  3. Co nowego w replikacji MySQL w MySQL 8.0

  4. Wyzwania związane ze skalowaniem bazy danych Moodle MySQL

  5. Python 3.4.0 z bazą danych MySQL