python - Python / psycopg2:cursor.fetchall() 在某些表上返回空列表
问题描述
我从某些表中得到空结果,尽管数据库在其他方面工作正常(并且表绝对不是空的)。
connection = psycopg2.connect(###)
cursor = connection.cursor()
query = """SELECT 1"""
cursor.execute(query)
cursor.fetchall()
返回:[(1,)]
query = """SELECT table_name FROM information_schema.tables
WHERE table_schema = 'public' """
cursor.execute(query)
cursor.fetchall()
返回:[('table1',),('table2',)]
query = """SELECT * FROM table1"""
cursor.execute(query)
cursor.fetchall()
返回:[]
cursor.rowcount
也是 0。从不存在的表中选择会给出正确的错误,所以我知道我的表名是正确的。当我的同事使用相同的连接字符串运行相同的代码时,该函数会返回数据。当我在客户端执行相同的查询时,表中有数据。当我连接到备份数据库并重新运行上述代码时,它会返回数据!
我真的不知道可能导致这种情况的原因......
我在miniconda
M1 mac,Big Sur 11.2.3 上使用 psycopg2 2.8.6 (py38hbcfaee0_1) 进行全新安装。
解决方案
推荐阅读
- php - CURL 错误:SSL 证书错误:证书链中的自签名证书
- ruby-on-rails - jruby 没有这样的文件来加载 application.rb
- android - Flutter Mapbox 构建不断失败(清单合并失败)
- python - 在python中递归搜索文件的最快方法是什么?
- android - 在 Android Studio 中生成签名的 apk 时发生错误
- java - 从配置中动态读取@JsonProperty
- sql-server - SQL Server全文搜索:词的解析形式不同的结果
- c# - Enterprise Architect的元素注释中未显示新行
- react-native - React Native:无法使用地理定位 API 访问位置
- python - Pandas:如何按索引值添加行值