gpt4 book ai didi

python - 使用 mysql 在 python 中的 while 循环中选择

转载 作者:可可西里 更新时间:2023-11-01 09:01:11 24 4
gpt4 key购买 nike

我试图通过使用带有 SELECT MAX(id) 的查询来查找 MySQL 数据库中的最新条目。我已经获得了最新的 ID,所以我知道该查询有效,但现在我想在 while 循环中使用它,以便每次迭代都能获得最新的条目。

这是我目前所拥有的:

import pymysql

con = pymysql.connect(host='.....', user='.....',
password='.....', database='.....')

cur = con.cursor()

while True:
query = "SELECT MAX(id) FROM reports"
cur.execute(query)
data = cur.fetchall()
last = (data[0][0])
print(last)

问题是我在更新数据库后一直得到相同的结果。例如,现在我有 45 个条目,所以我的脚本在 while 循环中打印“45”。但是在我向表中添加另一行之后,它会继续打印“45”而不是我期望的“46”。当我停止脚本并再次运行时,它会打印“46”并在我添加另一行后继续打印。

我大约两周前才开始使用 MySQL,所以我对它的了解并不多。我觉得我在这里错过了一些非常小的东西。我应该怎么办?任何帮助将不胜感激。

最佳答案

我遇到了同样的问题,只是想向正在寻找解决方案的其他人说明清楚。

将自动提交设置为 True 解决了我的问题,并且不需要在每次查询后调用提交。

import pymysql

con = pymysql.connect(host='.....', user='.....',
password='.....', database='.....')
con.autocommit = True
cur = con.cursor()

while True:
query = "SELECT MAX(id) FROM reports"
cur.execute(query)
data = cur.fetchall()
last = (data[0][0])
print(last)

Here is a link to the documentation

关于python - 使用 mysql 在 python 中的 while 循环中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41968181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com