首页  >  文章  >  数据库  >  为什么我的 Python 查询返回不一致的结果?

为什么我的 Python 查询返回不一致的结果?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-07 08:28:03573浏览

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