Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Python:Kết nối MySQL đang mở, nhưng không thể tạo con trỏ

Tôi sẽ thay đổi câu lệnh kiểm tra xem kết nối có mở hay không để kiểm tra xem có phải conn không cũng như kết nối có mở hay không. Và bởi vì bạn luôn thực thi setValue Tôi khuyên bạn nên gọi kết nối bên trong __init__ chức năng.

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()

Ngoài ra, hãy nhớ rằng với Trình kết nối Python MySQL, bạn cần gọi cam kết sau khi thực hiện câu lệnh chèn hoặc cập nhật.

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dịch vụ web RESTful:java.lang.NullPointerException service.AbstractFacade.findAll

  2. Việc thay đổi loại trường mysql từ INT thành VARCHAR sẽ ảnh hưởng như thế nào đến dữ liệu được lưu trữ trước đó dưới dạng INT

  3. Không thể lấy mysqldump để kết nối với phiên bản mysql cục bộ (lỗi 2003/10061)

  4. Tìm nạp một hàng từ bảng tham gia

  5. Hồi quy tuyến tính, tìm độ dốc trong MySQL