【发布时间】:2010-10-23 22:15:22
【问题描述】:
MySqlDb 是一个很棒的 Python 模块——但有一部分非常烦人。 查询参数如下所示
cursor.execute("select * from Books where isbn=%s", (isbn,))
而在已知宇宙中的其他任何地方(oracle、sqlserver、access、sybase...) 它们看起来像这样
cursor.execute("select * from Books where isbn=?", (isbn,))
这意味着如果你想要便携,你必须以某种方式切换 在两个符号之间?和 %s, 这真的很烦人。 (请不要告诉我使用 ORM 层——我会勒死你)。
据说你可以说服 mysqldb 使用标准语法,但我还没有 让它工作。有什么建议吗?
【问题讨论】:
-
实际上,最近的系统已经命名参数看起来像这样:“select * from Books where isbn= @ISBN”