我通过psycopg2连接了数据库。但是无法选择该列,请使用“选择*”是可以的。
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 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', .....]
答案 0 :(得分:0)
您能显示\d bas_appcvevent
的输出吗?Postgresql在大写和小写之间没有区别,所以即使您键入:
SELECT UVCOOKIE FROM bas_appcvevent LIMIT 10;
postresql可以:
SELECT uvcookie FROM bas_appcvevent LIMIT 10;
如果列名实际上是大写的,则使用双引号,如下所示:
SELECT "UVCOOKIE" FROM bas_appcvevent LIMIT 10;