MySQLdb Python 问题 刷新数据库
我写了一个Python守护进程,用来读取数据库……我做了以下操作:
db.connect('localhost', user, pass, database)
while true:
cursor = db.cursor()
sql = "SELECT id FROM task WHERE status='pending'"
r = cursor.execute(sql)
if r != 0:
result = cursor.fetchall()
#.....
问题是:当数据库发生变化时,守护进程没有检测到……需要手动刷新……我该怎么办呢??
谢谢!!
2 个回答
0
这只是我的一个猜测,因为我没有看到你完整的代码。不过,由于你在循环外面连接数据库,所以对database
的任何修改都不会让db
重新连接。
再说一次,这只是个猜测,我不确定你是否在使用线程,或者这个变化是怎么和后台进程一起工作的……等等。
0
我解决了这个问题,方法是在脚本的最后激活提交:
db.autocommit(True)
感谢所有的朋友们