mysql.connector不检测数据的外部更改

ff29svar  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(294)

我有一个脚本正在运行,当数据被添加到数据库时,我想处理它。

import mysql.connector
import time

wait_time = 2

mydb = mysql.connector.connect(
  host="localhost",
  user="xxx",
  passwd="yyy",
  database="my_database"
)
mycursor = mydb.cursor()

while True:
    sql = "SELECT * FROM data WHERE processed = 0"
    mycursor.execute(sql)
    records = mycursor.fetchall()
    for i, r in enumerate(records):
        print(r)
    time.sleep(wait_time)

但是,如果通过其他连接插入一行,则此连接不会显示该行。
i、 e.如果我通过第三方应用程序连接到我的数据库,并在
但是,如果我重新启动上面的脚本,它就会出现。
有什么想法吗?

5rgfhyps

5rgfhyps1#

使用消息队列(例如rabbitmq)。让第三方应用程序使用它。消息队列实现具有更好的异步处理信息的api。即使您只是使用消息队列来存储数据库内容的主键。
或者启用二进制日志记录并使用复制协议库来处理事件。

相关问题