首页 > 解决方案 > 为什么选择查询通过python抛出语法错误?

问题描述

我正在尝试连接到 Postgres 数据库并执行一个简单的选择查询。但是我遇到了错误。下面是示例程序

import psycopg2 as ps

param_dic = ps.connect(
    host="localhost",
    database="Test_DB",
    user="username",
    password="password"
)

cur = param_dic.cursor()
cur.execute("select * from  <schema_name>.'employee_tbl'") # I am 
rows = cur.fetchall()

for r in rows:
    print(r)

我得到以下错误:

psycopg2.errors.SyntaxError: syntax error at or near "'tbl_name'"
LINE 1: select * from  <schema_name>.'tbl_name'

如果我使用

cur.execute("select * from <schema_name>.'Employee_TBL'")

不过,我得到了同样的错误。

注意:当我检查我的 pgAdmin 时,我看到下面的表名

<schema_name>.Employee_TBL

那么,在 Postgres 表上执行 SQL 查询的正确方法是什么?

标签: pythonpostgresqlpsycopg2

解决方案


将 <schema_name>.'Employee_TBL'" 替换为真值:dbo.Employee_TBL 或数据库中的其他模式名称


推荐阅读