我有一个需要在SQL语句中引用的列名。因此,当我在sql炼金术中使用str()
呈现查询时,会出现引号。
有没有办法可以获得 这个列名称的引用版本?
当我str(column)
时,我得到'<table>.<column>'
我想要的是'<table>."<column>"'
。或者,当我str(column.name)
时,我会'<column>'
获得'"<column>"'
。
FWIW,我在psycopg中使用原始连接,以便使用postgres COPY
中的cursor.copy_from
命令执行批量加载,copy_from
函数需要完全引用列名,这就是我需要它们的原因。
或者,某种is_reserved(name)
函数就足够了。
到目前为止,浏览文档已证明无效:(
我可以在技术上重命名该列,但我想将其用作最后的手段。
答案 0 :(得分:1)
花了一段时间才找到它。假设engine
是您的sqlalchemy.engine.Engine
对象: