psycopg2连接问题,无法选择列,但连接正常
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了psycopg2连接问题,无法选择列,但连接正常相关的知识,希望对你有一定的参考价值。
我通过psycopg2.But连接数据库无法选择列,使用“select *”即可。
import psycopg2
db = psycopg2.connect(host='ip',port='port',user='user', password='pw',
database='basdw')
print("Opened database successfully")
cur = db.cursor()
query = "SELECT UVCOOKIE FROM bas_appcvevent LIMIT 10"
cur.execute(query)
data = cur.fetchall()
print(data)
db.close()
回溯(最近一次调用最后一次):第24行,在cur.execute(查询)中psycopg2.ProgrammingError:
列“uvcookie”不存在第1行:选择UVCOOKIE FROM bas_appcvevent LIMIT 10
但uvcookie存在于表中。如果我使用“select *”,那就没关系。
import psycopg2
db = psycopg2.connect(host='ip',port='port',user='user', password='pw',
database='basdw')
print("Opened database successfully")
cur = db.cursor()
query = "SELECT UVCOOKIE FROM bas_appcvevent LIMIT 10"
cur.execute(query)
data = cur.fetchall()
print(data)
db.close()
输出:
[(121, 1494990395269, None, 0, None, 0, 'j1wb5963_6_6_34_CA5F6F05-5273-4107-A1A2-3F98DE7DCA88', .....]
答案
你能展示d bas_appcvevent
的输出Postgresql在大写和小写之间没有区别所以即使你输入:
SELECT UVCOOKIE FROM bas_appcvevent LIMIT 10;
postgresql做:
SELECT uvcookie FROM bas_appcvevent LIMIT 10;
如果列名实际上是大写,那么使用双引号,如下所示:
SELECT "UVCOOKIE" FROM bas_appcvevent LIMIT 10;
以上是关于psycopg2连接问题,无法选择列,但连接正常的主要内容,如果未能解决你的问题,请参考以下文章
Docker- django 在连接到 postgres 时抛出错误:psycopg2.OperationalError:无法连接到服务器:连接被拒绝
Psycopg2 在 postgres 数据库中插入 python 字典