Heim > Datenbank > MySQL-Tutorial > Hauptteil

Warum liefern meine MySQL-Abfragen von Python inkonsistente Ergebnisse?

Mary-Kate Olsen
Freigeben: 2024-11-07 08:28:03
Original
569 Leute haben es durchsucht

Why Are My MySQL Queries from Python Returning Inconsistent Results?

MySQL-Abfragen von Python führen zu Inkonsistenzen

Ihre Abfrage ruft wahrscheinlich nicht die aktuellsten Daten ab, weil Sie sich nicht verpflichten Änderungen an der Datenbank. Standardmäßig setzt MySQL die Isolationsstufe auf „REPEATABLE READ“, was bedeutet, dass nachfolgende Abfragen innerhalb derselben Transaktion den ersten Snapshot der Daten anzeigen und nicht etwaige Änderungen, die während der Transaktion vorgenommen wurden.

Um sicherzustellen, dass Ihre Daten aktuell sind - Bisher müssen Sie die Verbindung nach jeder Abfrage festschreiben. Dadurch wird die aktuelle Transaktion abgeschlossen und die nächste Transaktion vorbereitet, um die neuesten Änderungen aus der Datenbank abzurufen.

Hier ist eine aktualisierte Version Ihres Codes mit dem erforderlichen Commit:

<code class="python"># Main loop
while True:

    # SQL query
    sql = "SELECT * FROM table"

    # Read the database, store as a dictionary
    mycursor = mydb.cursor(dictionary=True)
    mycursor.execute(sql)

    # Store data in rows
    myresult = mycursor.fetchall()

    # Transfer data into list
    for row in myresult:
        myList[int(row["rowID"])] = (row["a"], row["b"], row["c"])

        print(myList[int(row["rowID"])])

    # Commit changes!
    mydb.commit()
    print("---")
    sleep(0.1)</code>
Nach dem Login kopieren

Mit dieser Änderung , ruft Ihr Code nun während jeder Abfrageschleife die neuesten Daten aus der Datenbank ab.

Das obige ist der detaillierte Inhalt vonWarum liefern meine MySQL-Abfragen von Python inkonsistente Ergebnisse?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!