我将python连接到mySqL数据库,并从android发送两个双值存储在mySqL中,然后得到这个错误

enter code here
 Exception in thread :
 Traceback (most recent call last):
  File "C:\Python27\lib\threading.py", line 530, in __bootstrap_inner
self.run()
  File "C:\Users\ingy\Desktop\New folder (2)\sssssss.py", line 64, in run
self.pacman()
 File "C:\Users\ingy\Desktop\New folder (2)\sssssss.py", line 45, in pacman
x.execute("UPDATE location SET x='%s'"%(x1))
File "C:\Python27\lib\site-packages\MySQLdb\cursors.py", line 174, in execute
self.errorhandler(self, exc, value)
 File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 36, in  defaulterrorhandler
 raise errorclass, errorvalue
 OperationalError: (2006, 'MySQL server has gone away')

现在
   enter code here
         OperationalError: (2013, 'Lost connection to MySQL server during query')

最佳答案

这就是我所做的,在我们的情况下,它在最坏的情况下只会消失一次,并抛出一个不同的错误,所以我们不会得到无限的重复。

def query(self, sql, parameters=None):
    cursor = self.db.cursor()
    try:
        cursor.execute(sql, parameters)
        return cursor
    except mysql.connector.Error as ex:
        if ex.errno == 2006: # mysql has gone away
            cursor.close()
            self.connect()
            return self.query(sql, parameters)
        raise ex

10-04 13:08
查看更多