Всичко, което се изискваше, беше за buffered
да бъде зададено на true!
cursor = cnx.cursor(buffered=True)
Причината е, че без буфериран курсор, резултатите се зареждат "мързеливо", което означава, че "fetchone" всъщност извлича само един ред от пълния набор от резултати на заявката. Когато отново използвате същия курсор, той ще се оплаче, че все още имате n-1 резултати (където n е сумата на набора от резултати), които чакат да бъдат извлечени. Въпреки това, когато използвате буфериран курсор, конекторът извлича ВСИЧКИ редове зад кулисите и вие просто взимате един от конектора, така че mysql db няма да се оплаква.