gpt4 book ai didi

python - 更改 python MySQLdb 模块上的 paramstyle

转载 作者:行者123 更新时间:2023-11-29 12:47:30 26 4
gpt4 key购买 nike

我的默认 mysql 参数是:'format'

>>>MySQLdb.paramstyle
'format'

我想将默认参数样式更改为“pyformat”,因为我可以查询类似“WHERE name=%(name)s”的内容。有什么办法可以做到这一点吗?

最佳答案

我很确定,如果不在库的内部进行一番折腾,这是不可能的... -- paramstylehardcoded符合 PEP 249。

另请注意 escaping always uses a tuple ...

我想如果您更换的话可以让它工作:

if args is not None:
query = query % tuple(( get_codec(a, self.encoders)(db, a) for a in args ))

类似:

if args is not None:
if isinstance(args, tuple):
args = tuple(get_codec(a, self.encoders)(db, a) for a in args)
elif isinstance(args, dict):
args = {k: get_codec(a, self.encoders)(db, a) for a in args}
query = query % args

在这里,您可能希望在 Cursor 子类中执行此操作 - 并且您可以将其作为参数传递给连接...

最终,这有点“毛茸茸的”,因为重写整个执行方法可能会迫使您使用一堆不在“公共(public)”API 中的东西,但至少应该是可能的。

关于python - 更改 python MySQLdb 模块上的 paramstyle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25236777/

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