Python psycopg2、SELECT和schema
我试图对一个表执行一个简单的select语句,该表是“dam_vector”模式的一部分。我得到的错误是: psycopg2.ProgrammingError:关系 “dam_vector.parcels_full”没有 存在第1行:从中选择* “dam_矢量。包裹已满” 我想不出这一点,我知道我遗漏了一些明显的东西。你能提供的任何帮助都会很好 这是我正在使用的代码。db是成功连接到数据库的连接字符串Python psycopg2、SELECT和schema,python,psycopg2,Python,Psycopg2,我试图对一个表执行一个简单的select语句,该表是“dam_vector”模式的一部分。我得到的错误是: psycopg2.ProgrammingError:关系 “dam_vector.parcels_full”没有 存在第1行:从中选择* “dam_矢量。包裹已满” 我想不出这一点,我知道我遗漏了一些明显的东西。你能提供的任何帮助都会很好 这是我正在使用的代码。db是成功连接到数据库的连接字符串 cur = db.cursor() query = 'SELECT * FROM "dam_v
cur = db.cursor()
query = 'SELECT * FROM "dam_vector.parcels_full"'
cur.execute(query)
results = cur.fetchall()
当这失败了,在我对谷歌做了一些研究之后,我尝试了这个。同样的错误
cur.execute("SET search_path TO dam_vector,public")
db.commit()
cur = db.cursor()
query = 'SELECT * FROM "parcels_full"'
cur.execute(query)
results = cur.fetchall()
在
dam\u vector.parcels\u full
周围不需要引号
以下输出是否显示确实存在包裹满表格
cur.execute("""SELECT tablename
FROM pg_tables
WHERE tablename NOT LIKE ALL (ARRAY['pg_%','sql_%']);""")
cur.fetchall()
在dam\u vector.parcels\u full
周围不需要引号
以下输出是否显示确实存在包裹满表格
cur.execute("""SELECT tablename
FROM pg_tables
WHERE tablename NOT LIKE ALL (ARRAY['pg_%','sql_%']);""")
cur.fetchall()
双引号使其中的内容成为标识符,所以
SELECT * FROM "dam_vector.parcels_full";
SELECT * FROM "dam_vector"."parcels_full";
从schamapublic
(或搜索路径中的任何内容)中点击表dam\u vector.packets\u full
(句点解释为表名的一部分)
正如Adam所说,你不需要名字中没有特殊字符的引号。
尝试:
如果确实要使用双引号,请选择:
双引号使其中的内容成为标识符,所以
SELECT * FROM "dam_vector.parcels_full";
SELECT * FROM "dam_vector"."parcels_full";
从schamapublic
(或搜索路径中的任何内容)中点击表dam\u vector.packets\u full
(句点解释为表名的一部分)
正如Adam所说,你不需要名字中没有特殊字符的引号。
尝试:
如果确实要使用双引号,请选择: