MySQLdb python 刷新数据库问题

发布于 2024-10-26 04:21:06 字数 357 浏览 1 评论 0原文

我写了一个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()
        #.....

问题是:当更改数据库时,守护进程检测不到它...可以刷新... 我能做些什么??

谢谢!!

I have wrote a python daemon for read a database... I do the next:

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

The problem is that: when change database, the daemon not detect it... can refresh...
what can I do??

thanks!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

柒七 2024-11-02 04:21:06

这只是一个猜测,因为我没有完整的代码视图,但由于您在循环外部连接,对 database 的任何更改都不会告诉 db重新连接。

再次只是猜测,不确定您是否正在线程化,更改如何与守护进程一致......等等

This is just a guess since I don't have a full view of your code, but since you're connecting outside the loop any changes to database won't tell db to reconnect.

Again just a guess, not sure if you're threading or not threading, how the change coincides with the daemon... etc

提赋 2024-11-02 04:21:06

我已经解决了在脚本末尾激活提交的问题:

db.autocommit(True)

感谢所有朋友

I have soluted it activating commit at the end of the script:

db.autocommit(True)

thanks for all friends

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文