我的问题是:
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)
然后我可以使用密钥访问内容。
试试让我知道。
关于postgresql - Psycopg2 DictCursor不返回任何内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48884767/