Ich habe eine MSQL-Datenbank und ich muss durch eine Tabelle durchlaufen und eine Aktion ausführen, sobald eine WHERE-Klausel erfüllt ist. Dann, wenn es das Ende des Tisches erreicht hat, kehre an die Spitze zurück und fange neu an.Python MySQLdb Iterieren durch Tabelle
Zur Zeit habe ich
cursor = database.cursor()
cursor.execute("SELECT user_id FROM round WHERE state == -1 AND state = 2")
round_id = cursor.fetchone()
if round != 5
...do stuff
in einer Schleife aber offensichtlich hält nur den ersten Eintrag Looping, ich denke, man die in Funktion verwenden, müssen durch die Tabelle zu lesen, aber ich bin nicht sicher, Wie mache ich das mit mysqldb ..?
können Sie die Ergebnisse der Abfrage erhalten, indem 'cursor.fetchone Aufruf()' wiederholt (in einer 'while' zum Beispiel), bis es' zurückzugibt (None,) ' – dmg
ich glauben Sie einfach ein tun können for-Schleife durch Ihre 'cursor.execute()' – PurityLake
@PurityLake Nein können Sie nicht. 'cursor.execute' gibt die Anzahl der Zeilen zurück. Sie können 'für item_idx im Bereich (cursor.execute()): etwas = cursor.fetchone()' – dmg