我在postgres中有一个表,我只想得到updatedAt列。如果打印表列,则存在updatedAt:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import psycopg2
import sys
import datetime
con = None
try:
con = psycopg2.connect(database='db', user='dbuser', password='1111')
cur = con.cursor()
cur.execute('SELECT * from incidents')
column_names = [row[0] for row in cur.description]
print("Column names: %s\n" % column_names)
except psycopg2.DatabaseError as e:
print('Error %s' % e)
sys.exit(1)
finally:
if con:
con.close()结果是
Column names: ['id', 'deviceId', 'latitude', 'longitude', 'city', 'area', 'address', 'state', 'postalCode', 'country', 'canceled', 'createdAt', 'updatedAt', 'patientId']但是,当我试图从该表中选择所有行并只获取updatedAt信息时,它会说该列不存在。
#!/usr/bin/python
# -*- coding: utf-8 -*-
import psycopg2
import sys
import datetime
con = None
try:
con = psycopg2.connect(database='db', user='dbuser', password='1111')
cur = con.cursor()
cur.execute('SELECT updatedAt from incidents')
rows = cur.fetchall()
for row in rows:
print(row)
except psycopg2.DatabaseError as e:
print('Error %s' % e)
sys.exit(1)
finally:
if con:
con.close()错误信息是:
Error column "updatedat" does not exist
LINE 1: SELECT updatedAt from incidents
^
HINT: Perhaps you meant to reference the column "incidents.updatedAt".我也试过使用incidents.updatedAt,但没有运气。
编辑
忘记提到这个表是从带有后缀的Node.js创建的。
发布于 2016-08-10 21:15:46
Postgres列名默认为小写。由于该列名中有大写字母,因此必须引用它才能引用。如果列中有空格或特殊字符,情况也是如此。这个查询应该可以:
SELECT "updatedAt" FROM incidentshttps://stackoverflow.com/questions/38883437
复制相似问题