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

Lỗi Keyerror 255 khi thực thi pymysql.connect

Để mở rộng câu trả lời chỉ được chấp nhận ở liên kết ở trên, hãy xem xét các thay đổi sau trên pymysql hiện tại của bạn Tải về. Với MySQL 8, API mysql-python không nhận ra các bộ ký tự có thể mới hơn và do đó KeyError nổi lên .

Để giải quyết, hãy tìm Connectors.py tập lệnh dưới pymysql mô-đun tìm thấy tại thư mục này:

print(pymysql.__file__)

Sao lưu hoặc gốc kết nối.py kịch bản. Sau đó, kết hợp các thay đổi sau.

Bản gốc (dòng 1268-1269)

self.server_language = lang
self.server_charset = charset_by_id(lang).name  

Thay thế (dòng 1268 - 1272)

self.server_language = lang
try:
    self.server_charset = charset_by_id(lang).name
except KeyError:
    self.server_charset = None

Hãy cẩn thận đưa các tab ẩn vào thụt lề với các dòng trên.

Tham khảo



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thay đổi múi giờ MySQL?

  2. Tương đương sqlite của INTERVAL và UTC_TIMESTAMP của MySQL là gì?

  3. Mệnh đề trả về Mysql tương đương

  4. cách lấy LAST_INSERT_ID thông qua thủ tục được lưu trữ trong php

  5. Lỗi MySQL 1153 - Có gói lớn hơn byte 'max_allowed_packet'