【问题标题】:Does the MySQLdb module support prepared statements? [duplicate]MySQLdb 模块是否支持准备好的语句? [复制]
【发布时间】:2010-03-11 11:37:25
【问题描述】:

MySQLdb 是否支持服务器端prepared statements?我无法从它的手册中弄清楚这一点。

【问题讨论】:

    标签: python mysql prepared-statement


    【解决方案1】:

    检查 MySQLdb Package Comments:

    “参数化”在 MySQLdb 中通过转义字符串然后盲目地将它们插入到查询中来完成,而不是使用 MYSQL_STMT API。因此,unicode 字符串在被数据库接收之前必须经过两个中间表示(编码字符串、转义编码字符串)。

    所以答案是:不,不会。

    【讨论】:

      【解决方案2】:

      它有某种参数化,yes

      即便如此,我还是建议您切换到oursql。它通过 MySQLdb 带来了a lot of advantages

      • oursql 具有真正的参数化。
      • oursql 允许将文本或二进制数据流式传输到数据库中并从数据库中流出,而不是要求将所有内容都缓存在客户端中。
      • oursql 既可以延迟插入行,也可以延迟获取行。
      • oursql 默认支持 unicode。
      • oursql 支持 python 2.4 到 2.7,在 2.6+ 上没有任何弃用警告(参见 PEP 218),并且在 2.7 上没有完全失败(参见 PEP 328)。
      • oursql 在 BSD 许可下获得许可。

      【讨论】:

      猜你喜欢
      • 2020-01-30
      • 1970-01-01
      • 2013-08-10
      • 2016-07-20
      • 2014-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-26
      相关资源
      最近更新 更多