psycopg2连接问题,无法选择列,但连接无效

2024-06-11 00:13:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我用psycopg2连接了数据库。但是无法选择列,使用“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行,in 当前执行(查询) psycopg2.programming错误:

column "uvcookie" does not exist LINE 1: SELECT 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', .....]

Tags: fromdbdataportqueryselectdatabasepsycopg2
1条回答
网友
1楼 · 发布于 2024-06-11 00:13:44

您能否显示\d bas_appcveventPostgresql的输出在大写和小写之间没有区别,因此即使您键入:

SELECT UVCOOKIE FROM bas_appcvevent LIMIT 10;

postresql执行以下操作:

SELECT uvcookie FROM bas_appcvevent LIMIT 10;

如果列名实际上是大写的,则使用如下双引号:

SELECT "UVCOOKIE" FROM bas_appcvevent LIMIT 10;

相关问题 更多 >