python - psycopg2 部分标识符

标签 python sql database postgresql psycopg2

_sql = sql.SQL("SELECT * FROM {prefix}_prefixed_table_name").format(prefix=sql.Identifier("prefix"))

_sql.as_string(conn)

结果SELECT * FROM "prefix"_prefixed_table_name

我想要什么SELECT * FROM prefix_prefixed_table_nameSELECT * FROM "prefix_prefixed_table_name"

我怎样才能实现这个目标?

根据 klin 的请求为什么不呢

_sql = sql.SQL("SELECT * FROM {prefix}_prefixed_table_name").format(prefix=sql.SQL("prefix"))

工作,只需输入即可

"another_table_name; -- "

这会导致

SELECT * FROM another_table_name; -- _prefixed_table_name

最佳答案

将表名称移至Identifier():

_sql = sql.SQL("SELECT * FROM {name}").format(name=sql.Identifier(prefix+ "_prefixed_table_name"))

关于python - psycopg2 部分标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70389367/

相关文章:

python - 从字节文件打开 PIL 图像

sql - FAST_FORWARD 游标何时会有工作表(这是要避免的事情)?

python - 如何使用一片 QSqlQueryModel?

sql - 查询速度是否取决于表中的行数?

javascript - 使用自定义 UID 设置 mongo 的 _id

python - 如何在 Pandas 的同一列中将每个值与项目的最大值进行比较

python - 如何从两个图像重建场景的3D

python - Sklearn 管道抛出 ValueError : too many values to unpack (expected 2)

mysql - 使用大量可能的连接进行查询的最佳方法

java - Hibernate:有没有办法以编程方式创建类似于现有表的新表?