在psycopg2中插入查询值时删除引号

时间:2017-11-09 16:32:50

标签: python sql postgresql psycopg2

已连接到this question,但我遗失了一些内容。

当我运行以下

table_name = 'my_schema.my_table'
cur.execute(sql.SQL('SELECT col1, col2 FROM {}').format(sql.Identifier(table_name)))

发送到数据库的查询是

SELECT col1, col2 FROM "myschema.myname"

我收到错误:

"relation "myschema.myname" does not exist"

我希望查询

SELECT col1, col2 FROM myschema.myname

当我直接将其传递给cur.execute时,我没有遇到任何问题。

如果有帮助,我使用.ini文件在this tutorial之后连接到数据库,在我的例子中如下:

[postgresql]
host=ip_no_of_host
database=name_of_db
user=username
password=password

1 个答案:

答案 0 :(得分:2)

1. Test split h
Here and not .Here and not /Here

或只是

schema_name = 'my_schema'
table_name = 'my_table'
cur.execute(sql.SQL('SELECT col1, col2 FROM {}.{}').format(
    sql.Identifier(schema_name), sql.Identifier(table_name)
    )
)