Psycopg2 DictCursor什么都不返回
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Psycopg2 DictCursor什么都不返回相关的知识,希望对你有一定的参考价值。
我的查询是:
query = '''
SELECT * from table
where id IN (SELECT ext_id from table2
where title= %s and year = %s)
'''
接下来我用
cursor = conn.cursor(cursor_factory=pg.extras.DictCursor)
cursor.execute(query, (title, year))
result = cursor.fetchall()
它返回[],即没有
但是,如果我设置cursor = conn.cursor(),相同的查询将返回一些行!出了什么问题?为什么我不能使用DictCursor?
答案
在我的代码中不要使用pg.extras.DictCursor。
相反,我使用psycopg2.extras.DictCursor
我写了以下内容:
import psycopg2
import psycopg2.extras
cursor = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
然后我就可以使用密钥访问内容了。
试一试,让我知道。
以上是关于Psycopg2 DictCursor什么都不返回的主要内容,如果未能解决你的问题,请参考以下文章
Python支持SQL数据库返回psycopg2.ProgrammingError:在尝试删除表中的数据时,关系不存在错误?
Psycopg2 - 返回前 1000 个结果并随机选择一个