【问题标题】:Why python script loop is not fetching updated data from DB?为什么 python 脚本循环没有从数据库中获取更新的数据?
【发布时间】:2020-02-18 17:38:22
【问题描述】:

我有两个 Python 脚本。他们都使用 PYMYSQL 读取/写入 MySQL DB 表上的数据。

脚本 1:它在无限的 while 循环中运行,每秒从外部 API 获取数据,并通过 UPDATE SQL Query 将其更新到 MySQL DB 的表中。它工作得很好。我可以在数据库级别看到数据每秒都在更新。

脚本 2:它在无限的 while 循环中运行,从上面提到的 MySQL DB 表中获取数据,并通过 SELECT SQL Query 打印出来。当我第一次运行它时,它会从数据库中获取正确/更新/最新的数据,但是之后当它在 while 循环上迭代时,它会获取它在第一次启动时获取的相同数据并且不获取更新的数据.但它应该获取更新的数据,因为脚本 1 每秒都在不断更新 DB 上的数据。但如果我停止脚本并重新启动,它会显示更新的数据。

我只是想知道原因或解决相同的问题。似乎当我重新启动脚本时为脚本 2 重新启动数据库连接时,它会获取最新数据。

请帮忙。

【问题讨论】:

标签: pymysql


【解决方案1】:

我找到了解决办法。可以应用以下任何一种。

  1. 将 autocommit=True 添加到 connect() 参数中。
  2. 在 cursor.execute() 命令之后调用 conn.commit()。

这里提到的可重复阅读:https://dev.mysql.com/doc/refman/8.0/en/glossary.html#glos_consistent_read

【讨论】:

    猜你喜欢
    • 2013-01-18
    • 2016-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多