postgresql ProgrammingError:函数标识符(未知)不存在

问题描述 投票:0回答:1

我正在尝试使用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中安装一些扩展,但很多谷歌搜索没有帮助。

任何建议都非常感谢。

python postgresql psycopg2
1个回答
1
投票

你错误地使用了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()
© www.soinside.com 2019 - 2024. All rights reserved.