Проблема подключения psycopg2 2 не могу выбрать столбец, но соединение в порядке - PullRequest
0 голосов
/ 20 февраля 2019

Я подключил БД по 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()

Traceback (последний вызов был последним): строка 24, в cur.execute(запрос) psycopg2.ProgrammingError:

столбец "uvcookie" не существует ЛИНИЯ 1: ВЫБЕРИТЕ UVCOOKIE FROM bas_appcvevent LIMIT 10

, но uvcookie существует в таблице. ЕслиЯ использую "выбрать *", все в порядке.

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', .....]

1 Ответ

0 голосов
/ 21 февраля 2019

вы можете показать вывод \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;
...