解决python连接数据库报错pymysql.err.OperationalError: (2013, ‘Lost connection to MySQL server during query’)
解决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(),关闭数据库连接
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgghaje
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13