为什么 python 脚本循环不从数据库中获取更新的数据?

Why python script loop is not fetching updated data from DB?

我有两个 Python 脚本。它们都使用 PYMYSQL 在 MySQL 数据库的 table 上读取/写入数据。

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

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

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

请帮忙。

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

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

可重复阅读,如此处所述:https://dev.mysql.com/doc/refman/8.0/en/glossary.html#glos_consistent_read