sql >> Databasteknik >  >> RDS >> Mysql

Python:MySQL-anslutningen är öppen, men kan inte skapa markören

Jag skulle ändra påståendet som kontrollerar om anslutningen är öppen för att både kontrollera om anslutning är ingen och om anslutningen är öppen. Och eftersom du alltid kör setValue funktionen Jag skulle rekommendera att du anropar anslutningen inuti __init__ funktion.

class Sample:
  conn = None

  def __init__(self):
    self.connect()
    self.value = self.setValue()
    self.close()

  def connect(self):
    self.conn = MySQLdb.connect(...)

  def close(self):
    if self.conn:
       self.conn.close()

  def setValue(self):
    if not self.conn and not self.conn.open:
       self.connect()
    cursor = self.conn.cursor()

Kom också ihåg att med Python MySQL Connector måste du anropa commit efter att du har kört en insert- eller update-sats.

cur =  self.conn.cursor()
cur.execute("...")
self.conn.commit()



  1. Mysql count returnerar noll om ingen post hittas

  2. JS Kan inte fråga MySQL-databasen. FEL:connection.query är inte en funktion

  3. Hur SCHEMA_ID() fungerar i SQL Server

  4. Det gick inte att skapa den begärda tjänsten [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]