如果有人能告诉我是否可以使用命名占位符进行参数化查询,我将不胜感激oursql
,一个用于与 MySQL 数据库交互的 python 模块。
例如,我尝试了一种可以与 sqlite3 一起使用的查询
c.execute('''select * from records where id=:id''', {"id": 2})
它不起作用。我遇到语法编程错误。我想知道是否还有另一种方法可以做到这一点oursql
.
如果不可能在oursql
你知道另一个可用于与 MySQL 数据库交互的 python 模块吗?该模块允许使用命名占位符进行参数化查询。
感谢您的帮助。
oursql 文档说它使用qmark符号 http://packages.python.org/oursql/tutorial.html#executing-queries我认为这与这种格式不兼容。您正在寻找支持“pyformat”的数据库 API。 (看数据库API规范 http://www.python.org/dev/peps/pep-0249/在“参数样式”下。)
我的经验是MySQLdb http://mysql-python.sourceforge.net/MySQLdb.html,它确实支持“pyformat”参数样式,您的查询可以在其中编写:
c.execute("""SELECT * FROM records WHERE id = %(id)s""", {"id": 2})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)