【发布时间】:2012-12-15 00:03:53
【问题描述】:
我目前正在尝试在 Python 的 psycopg 模块中的 PostgreSQL 查询中使用占位符。这是我正在使用的代码示例。
table.execute('SELECT * FROM table WHERE col2 = %s ORDER BY pID ASC LIMIT %s OFFSET %s;',(val1,val2,val3))
我在某处读到,不能将这样的占位符用于 LIMIT 和 OFFSET,但是我应该将这种占位符格式用于 WHERE =。
safely specifying 'order by' clause from user input in python / postgresql / psycopg2
有人知道这个 sql 查询的正确占位符语法吗?谢谢!
【问题讨论】:
-
我在psycopg2 docs 上没有看到关于在 SQL 查询的
ORDER BY部分中使用占位符的任何内容。此外,作为you referenced already,如果您想使用占位符和ORDER BY,则需要进行自己的格式化。 -
是的,我已经浏览了文档 =/ 我的印象是不建议手动进行自己的 SQL 格式化
标签: python postgresql psycopg2