2011-03-24 68 views
0

我已经写了蟒蛇守护进程读取数据库......我做了下:MySQLdb的蟒蛇问题刷新数据库

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() 
     #..... 

的问题是:当改变数据库,后台程序检测不到它...可以刷新... 我能做什么?

谢谢!!

+1

正在改变运行期间的数据库? – 2011-03-24 19:05:41

+0

是的,我插入新的任务,但它没有检测到他们 – igferne 2011-03-24 19:22:50

回答

-1

我已经固溶它激活承诺在脚本的末尾:

db.autocommit(True) 

感谢所有朋友

0

这只是一个猜测,因为我没有完整地查看您的代码,但由于您在环路外部进行连接,因此对database的任何更改都不会告知db重新连接。

再次只是一个猜测,不知道你穿还是不穿,改如何与后台一致...等

+0

真的这是真的,我只有一个连接...因为我想用一个连接工作... – igferne 2011-03-24 20:11:25