admin管理员组文章数量:1630584
解决python连接数据库报错:pymysql.err.OperationalError: (2013, ‘Lost connection to MySQL server during query’)
原因定位:在项目实践过程中,发现当查询语句比较复杂时,sql语句过长时,会出现mysql断开连接的情况
尝试解决方案:当connect断开后,重新进行连接。ping(reconnect=True)
def execute(self, dql):
"""执行数据库查询语句"""
while True:
try:
self.__cursor.execute(dql)
except Exception:
self.db.ping(True)
return self
def execute_operate(self, dql):
"""执行数据库插入或删除语句"""
while True:
try:
self.__cursor.execute(dql)
self.db.commit()
except Exception:
self.db.ping(True)
return self
在封装的数据库操作方法中,增加循环尝试,如果出现断开则重连。再次运行代码后没有报错,成功解决问题。
知识汇总:
Connection中常用Api
1、open()检测数据库是否连接,connect.open如果数据库连接返回True,否则返回False
2、ping(reconnect=True) ,connect.ping(reconnect=True),如果reconnect=True表示断开后,重新进行连接
3、rollback(),回滚当前事务
4、select_db(db),切换数据库
5、cursor(),创建游标对象,用于操作数据(增、删、改、查)
6、commit(),提交请求,当向数据库中插入数据时,需要使用commit()进行提交,否则数据不能写入数据库
7、close(),关闭数据库连接
借鉴原文地址:https://www.python51/jc/16692.html
本文标签: 报错连接数据库errOperationalErrorPython
版权声明:本文标题:解决python连接数据库报错:pymysql.err.OperationalError: (2013, ‘Lost connection to MySQL server during query’) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1726225595a1061483.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论