加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

sqlalchemy 循环查询表中总数量,发现查询结果都是一样解救方法

发布时间:2020-12-17 16:59:56 所属栏目:Python 来源:网络整理
导读:代码示例: import?sqlalchemyfrom?sqlalchemy?import?create_enginefrom?sqlalchemy.orm?import?sessionmakerfrom?sqlalchemy?import?funcfrom?spiderman.config?import?DB_CONN_INFOfrom?baikedb.model?import?Clusterimport?timedb_connect?=?"mysql+mysq

代码示例:

import?sqlalchemy
from?sqlalchemy?import?create_engine
from?sqlalchemy.orm?import?sessionmaker
from?sqlalchemy?import?func
from?spiderman.config?import?DB_CONN_INFO
from?baikedb.model?import?Cluster
import?time

db_connect?=?"mysql+mysqldb://{}:{}@{}:3306/{}?charset=utf8".format(DB_CONN_INFO['name'],????????????????????????????????????????????????????????????????????DB_CONN_INFO['password'],????????????????????????????????????????????????????????????????????DB_CONN_INFO['ip'],????????????????????????????????????????????????????????????????????DB_CONN_INFO['database'])

engine?=?create_engine(db_connect)
session?=?sessionmaker(bind=engine)()

if?__name__?==?'__main__':
????while?1:
????????num?=?session.query(func.count(Cluster.id)).scalar()
????????print(time.strftime("%Y-%m-%d?%H:%M:%S",?time.localtime()),?num)
????????time.sleep(60)

问题:

每隔一分钟查询数据库的总数量是多少,发现结果都是一样

解决办法:

在每次查询数量完成之后,添加代码session.close()

if?__name__?==?'__main__':
????while?1:
????????num?=?session.query(func.count(Cluster.id)).scalar()
????????print(time.strftime("%Y-%m-%d?%H:%M:%S",?num)
????????time.sleep(60)
????????session.close()


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读