【问题标题】:Does PyMySQL support Prepared Statements?PyMySQL 是否支持预处理语句?
【发布时间】:2016-12-04 21:46:06
【问题描述】:

PyMySQL 是否支持预处理语句? 我正在尝试从 python 模块连接到 MySQL。

我检查了http://pymysql.readthedocs.io 的文档,但没有发现任何有用的信息。

浏览源代码也没有运气。

【问题讨论】:

    标签: python pymysql


    【解决方案1】:

    PyMySQL 还不支持准备好的语句。见PyMySQL issue 202

    【讨论】:

      【解决方案2】:

      我猜,PyMySQL 永远不会支持准备好的语句。为此,请使用 Oracle 的 MySQL 连接器。 https://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlcursorprepared.html

      【讨论】:

        【解决方案3】:

        上面的答案已经过时了:PyMySQL 现在确实支持预处理语句:

        cur = con.cursor()
        
        cur.execute("SELECT * FROM cities WHERE id=%s", myid) 
        
        cid, name, population  = cur.fetchone()
        

        问候!

        【讨论】:

        • 警告:这是错误的。这不使用 mysql 准备语句,而是使用本机 python 字符串格式。 (我查看了源代码)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-15
        • 2012-04-04
        • 2011-03-19
        • 2014-10-07
        相关资源
        最近更新 更多