侧边栏壁纸
  • 累计撰写 26 篇文章
  • 累计创建 25 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

pymysql使用报错:pymysql.err.InterfaceError: (0, '')

iRay
2022-10-10 / 0 评论 / 0 点赞 / 1166 阅读 / 1964 字

说明

在使用pymysql时,出现以下报错信息
    execute
    result = self._query(query)
  File "../lib/python3.8/site-packages/pymysql/cursors.py", line 328, in _query
    conn.query(q)
  File "../lib/python3.8/site-packages/pymysql/connections.py", line 515, in query
    self._execute_command(COMMAND.COM_QUERY, sql)
  File "../lib/python3.8/site-packages/pymysql/connections.py", line 745, in _execute_command
    raise err.InterfaceError("(0, '')")
peewee.InterfaceError: (0, '')

排查

初步查看问题,以为是sql编写错误,后面经过查询发现是因为pymysql连接已经断开,断开有以下几种原因
1 调用次方法之前已经关闭连接
2 数据库本身有超时限制
3 没有建立数据库连接

解决

根据排查原因进行对应解决,其中原因2超时问题,除了修改数据库超时设置和优化代码外,可在执行前加上: self.conn.ping(reconnect=True) 增加判定和重连机制。
不过还是建议从代码逻辑本身来解决该问题

0

评论区