Ant*_*aux 5 python psycopg2 string-concatenation string-interpolation
要在查询中动态选择表名,我曾经使用AsIs()(psycopg2.extensionshttp://initd.org/psycopg/docs/extensions.html#psycopg2.extensions.AsIs ),语法如下:
cur.execute("SELECT * FROM %s WHERE id = %s;", (AsIs('table_name'), id))
Run Code Online (Sandbox Code Playgroud)
但是,文档现在建议使用psycopg2.sql2.7 版中提供的新模块 ( http://initd.org/psycopg/docs/sql.html#module-psycopg2.sql ),语法如下:
from psycopg2 import sql
cur.execute(
sql.SQL("SELECT * FROM {} WHERE id = %s;")
.format(sql.Identifier('table_name')), (id, )
Run Code Online (Sandbox Code Playgroud)
sql除了模块公开的对象可以直接传递给 之外,这两个选项之间还有什么区别execute()?
| 归档时间: |
|
| 查看次数: |
9599 次 |
| 最近记录: |