Python循环查询MySQL - 查询结果未更新?

时间:2016-11-23 13:52:31

标签: python mysql

我有一小部分查询mySQL的python代码,

while True:
    print "running SQL query"
    cursor.execute('select * from sites where stage="NEW"')
    results = cursor.fetchall() #Fetch results
    for row in results:
        print "change detected" #simplified line for testing
    print "sleeping"
    sleep(10)

当没有记录匹配输出时:

running SQL query
sleeping
running SQL query
sleeping

手动创建匹配的SQL记录(允许循环重复的时间),输出仍为:

running SQL query
sleeping
running SQL query
sleeping

停止脚本并重新启动,测试输出符合预期:

running SQL query
change detected
sleeping

所以结果正在被缓存?或者查询没有被重新运行?

我如何处理这个问题,请记住查询是经常运行的(我确实想知道每次关闭数据库连接并重新打开,但这似乎过多了?)

1 个答案:

答案 0 :(得分:0)

如果您查看commit()的{​​{3}},则可以提示您的代码无效的原因。

database.commit()之后尝试使用sleep(10),看看它是否有效。