Tutto ciò che era richiesto era per buffered
essere impostato su true!
cursor = cnx.cursor(buffered=True)
Il motivo è che senza un cursore memorizzato nel buffer, i risultati vengono caricati "pigramente", il che significa che "fetchone" in realtà recupera solo una riga dal set di risultati completo della query. Quando utilizzerai di nuovo lo stesso cursore, si lamenterà che hai ancora n-1 risultati (dove n è l'importo del set di risultati) in attesa di essere recuperati. Tuttavia, quando usi un cursore con buffer, il connettore recupera TUTTE le righe dietro le quinte e ne prendi solo una dal connettore in modo che mysql db non si lamenti.