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.