Я импортирую некоторые данные из API в Python, форматирую и сохраняю их в базу данных MySQL с помощью to_sql.
results, types, valid = self.process_data(data, [])
if valid:
results.to_sql(
con=self.db.connection,
name="degreed_" + method,
if_exists="replace",
index=False,
dtype=types,
)
В моем соединении я указал utf8mb4 в качестве charset:
self.connection = create_engine(
'mysql+mysqlconnector://{0}:{1}@{2}/{3}?charset=utf8mb4'.
format(database_username, database_password, database_ip, database_name))
и в моих типах у меня есть текстовые столбцы как:
NVARCHAR(length=500, collation='utf8mb4_bin').
Однако я все еще получаю сообщение об ошибке:
COLLATION 'utf8mb4_bin' is not valid for CHARACTER SET 'utf8'
В MySQL мой character_set_client имеет значение utf8mb4 итаблица символов по умолчанию - utf8mb4.Почему набор символов utf8?
Извиняюсь, если я делаю здесь что-то глупое, я совершенно новичок в sqlalchemy и mysql в целом.