Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL क्लाइंट को MySQLdb के साथ ऑटो री-कनेक्ट कैसे सक्षम करें?

मैंने एक फ़ंक्शन बनाकर इस समस्या को हल किया जो 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)
# wait a long time for the Mysql connection to timeout
cur = db.query(sql)
# still works


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में nth Row कैसे खोजें

  2. PHP mysql सम्मिलित दिनांक प्रारूप

  3. मैं MySQL के ORDER BY RAND () फ़ंक्शन को कैसे अनुकूलित कर सकता हूं?

  4. MySQL में टेबल दिखाएं

  5. MySQL में लॉक किए बिना चयन करने का कोई तरीका?