pymysql动态查询结果

如果程序需要检查数据库中的某个动态的数据,只有当这个数据满足条件时才会继续执行代码。
比如需要实现的功能如下:

def check_status():
      status = 数据库查询结果 # 初始化当前的status值
      while status != 条件: 
            status = 数据库查询结果 # 如果不满足条件则持续获取该结果
            sleep(1)
      # 满足条件后需要执行的代码      

pymysql代码如下:

conn = pymysql.connect()
def get_status():
      query = sql查询语句
      cursor = conn.cursor()
      cursor.execute(query)
      result = list(cursor.fetchall())
      return result

如果进入了while循环之后,数据库中的内容已经满足了终止循环的条件,但程序依旧在执行,如果在循环中打印status变量,其值也没有随着数据库内数据的改变而发生改变。
此时需要在cursor.execute()执行之后添加一句conn.commit()来提交。
添加commit后,while循环便可成功在status满足条件时停止。

posted @ 2020-12-30 17:05  Ravenna  阅读(288)  评论(0编辑  收藏  举报