gpt4 book ai didi

python - 如何使用 to_sql 创建表时强制使用 utf8mb4?

转载 作者:行者123 更新时间:2023-11-29 15:57:43 27 4
gpt4 key购买 nike

我正在从 Python 中的 API 导入一些数据,对其进行格式化并使用 to_sql 将其保存到 MySQL 数据库。

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 作为字符集:

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 很陌生。

最佳答案

事实证明,问题是我使用的是 NVARCHAR 而不是 VARCHAR,因此结果被转换为 UTF8。

关于python - 如何使用 to_sql 创建表时强制使用 utf8mb4?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56358632/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com