mysql django.db.utils.InterfaceError: (0, '')

Posted by: ytyng 1 year, 6 months ago
django.db.utils.InterfaceError: "(0, '')"

が出る場合

テーブルやレコードによって、get時にこのエラーが出たり出なかったりする場合は、接続文字コードが合ってないかもしれない。

もし、utf8 で接続しているなら、一度 utf8mb4 にして様子を見てみる。

DATABASES = {
"default": {
"ENGINE": "django.db.backends.mysql",
"NAME": "....",
"USER": "....",
"PASSWORD": "....",
"HOST": "....",
"PORT": "",
"OPTIONS": {
"charset": "utf8mb4"
},

2021-08-07 追記

MySQL 8.0 のクライアントで MySQL 5.7 サーバに接続すると Charset の指定がクライアントからできない

で書いたが、mysql のクライアントが 8.0 相当で、サーバが5.7 の場合、文字コードの指定がクライアント側からできない。

なので、文字コードについては、「サーバ側で指定してクライアントからは指定しない

(DATABASES の OPTIONS を指定しない) というのが、一番良いと考えている。

Currently unrated

Comments

Archive

2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011