gpt4 book ai didi

python - 强制 MySQLdb 将所有 MySQL 数据视为字符串

转载 作者:行者123 更新时间:2023-12-01 04:01:38 25 4
gpt4 key购买 nike

我有一个VARCHAR偶尔存储数字的字段(只有数字的随机字符串,很少)。当我 SELECT现场,MySQLdb将该行上的字段转换为整数,有时会产生溢出。

我知道MySQLdb.connect()采用名为 conv 的参数它覆盖默认的 MySQL 字符串结果 --> Python 数据类型转换。但是,我不知道如何重写它以将所有 MySQL 数据作为字符串返回。

如何覆盖 conv MySQLdb.connect() 的参数将 MySQL 中的所有数据作为 Python 字符串返回?有其他解决方案吗?

最佳答案

根据this , conv 是字段类型 (MySQLdb.constants.FIELD_TYPE) 和 Python 数据类型之间的字典。对于您的示例,您可以:

from MySQLdb.constants import FIELD_TYPE
conv = { FIELD_TYPE.VARCHAR: str }

或者更一般地说(虽然有点黑客):

from collections import defaultdict #if on Python 3
conv = defaultdict(lambda: str)

强制所有数据类型转换为str

关于python - 强制 MySQLdb 将所有 MySQL 数据视为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36392345/

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