使用PyMySQL連接MySQL錯誤
之前寫了一個小項目,今天突然想起來,准備優化一下,但是原本好好的項目竟然跑不起來了
emmm....我真的啥都沒干呀
具體錯誤是這樣的:
Traceback (most recent call last): ... File "C:\Program Files\Python36\lib\site-packages\pymysql\__init__.py", line 90, in Connect return Connection(*args, **kwargs) File "C:\Program Files\Python36\lib\site-packages\pymysql\connections.py", line 706, in __init__ self.connect() File "C:\Program Files\Python36\lib\site-packages\pymysql\connections.py", line 931, in connect self._get_server_information() File "C:\Program Files\Python36\lib\site-packages\pymysql\connections.py", line 1269, in _get_server_information self.server_charset = charset_by_id(lang).name File "C:\Program Files\Python36\lib\site-packages\pymysql\charset.py", line 38, in by_id return self._by_id[id] KeyError: 255
出現這個問題首先想到的是看看MySQL服務有沒有啟動,但服務已經啟動了,所以排除這個原因
接着想到的是PyMySQL庫的問題,在網上遍尋之后,發現舊版的PyMySQL不支持長度超過255的字段,但MySQL8.0里卻更新了很多字符集長度超過了255,所以,更新PyMySQL試試看
查看安裝的第三方庫版本,更新PyMySQL版本:
pip list
pip install --upgrade PyMySQL
更新之后錯誤解決了
最后說一句:MySQL8.0有風險,使用需謹慎