我遇到了PHP的窍门:
my_bool reconnect = 1; mysql_options(&mysql, MYSQL_OPT_RECONNECT, &reconnect); 但是MySQLdb(python-mysql)没有运气。
有人可以提供线索吗?谢谢。
我通过创建一个包装cursor.execute()方法的函数解决了这个问题,因为那是引发MySQLdb.OperationalError异常的原因。上面的另一个示例隐含conn.cursor()了引发此异常的方法。
import MySQLdb
class DB: conn = None
def connect(self): self.conn = MySQLdb.connect()
def query(self, sql): try: cursor = self.conn.cursor() cursor.execute(sql) except (AttributeError, MySQLdb.OperationalError): self.connect() cursor = self.conn.cursor() cursor.execute(sql) return cursor
db = DB() sql = "SELECT * FROM foo" cur = db.query(sql)
cur = db.query(sql)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。