Python的mysql报错AttributeError: ‘NoneType‘ object has no attribute ‘read‘和InterfaceError (0, ‘‘)

Python的mysql报错AttributeError: ‘NoneType’ object has no attribute 'read’和InterfaceError (0, ‘’)

Python连接数据库进行插入查询操作,运行项目时,会出现多线程操作mysql的连接池,我的情况是可能同时存在多个地方对数据库进行操作,于是一直报这两个错误,刚开始接触python,不清楚这两个是什么导致的,后来查阅资料,找到AttributeError: 'NoneType' object has no attribute 'read'的解决办法,在每次执行sql语句前加锁,当执行结束后再将锁释放,解决了这个问题,但是还是会报InterfaceError (0, '')错误,于是我将所有的执行sql时都加上锁,最终这两个问题成功解决,感觉应该是多线程操作mysql连接池有冲突导致的。
附上我的代码

import threading
lock = threading.Lock()
	.................
	lock.acquire()
	self.db.ping(True)  # 保证断线重连
	self.cursor.execute(sql)
	result = self.cursor.fetchone()[0]  # 查询结果为一个数组
	lock.release()
	return result

附上参考链接

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值