我正在尝试使用psycopg2.sql.SQL来编写我的查询。我已经提到了文档,但我无法执行此操作。我不断收到上述编程错误
这是示例代码:
import psycopg2.sql as sql
query = sql.SQL("SELECT id from {} where country={}".format(sql.Identifier('country_sector'), sql.Identifier('UK')))
cur = dbobj.conn.cursor()
cur.execute(query)
data = cur.fetchall()
这是错误:
ProgrammingError: function identifier(unknown) does not exist
LINE 1: SELECT id from Identifier('country_sector') where country=Id...
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
这告诉我,我需要在postgres中安装一些扩展,但很多谷歌搜索没有帮助。
任何建议都非常感谢。
你错误地使用了format()
。这有效
import psycopg2
import psycopg2.sql as sql
conn=psycopg2.connect("dbname='mydb' user='myuser' ")
cur = conn.cursor()
cur.execute(
sql.SQL("SELECT id from {}
where country=%s").format(sql.Identifier('country_sector')),
['UK']
)
data = cur.fetchall()