_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_name
或SELECT * 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/