首頁  >  文章  >  資料庫  >  為什麼我的 Python 查詢會傳回不一致的結果?

為什麼我的 Python 查詢會傳回不一致的結果?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-07 08:28:03571瀏覽

Why Are My MySQL Queries from Python Returning Inconsistent Results?

來自 Python 的 MySQL 查詢產生不一致

您的查詢可能無法檢索最新的數據,因為您沒有提交對資料庫的變更。預設情況下,MySQL 將隔離等級設為“REPEATABLE READ”,這表示相同交易中的後續查詢將查看資料的初始快照,而不是事務期間所做的任何變更。

確保您的資料正常運作-迄今為止,您需要在每次查詢後提交連線。這將完成目前事務並準備下一個事務以從資料庫中獲取最新變更。

這是程式碼的更新版本,其中包含必要的提交:

<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>

進行此修改,您的程式碼現在將在每個查詢循環期間從資料庫檢索最新資料。

以上是為什麼我的 Python 查詢會傳回不一致的結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn