我正在尝试使用类似于sqlalchemy的sqlinsert语句。在
def get_sql(self):
"""Returns SQL as String"""
baz_ins = baz.insert().values(
Id=self._id,
Foo.Bar=self.foo_dot_bar,
)
return str(baz_ins.compile(dialect=mysql.dialect(),
compile_kwargs={"literal_binds": True}))
这将返回keyword cannot be expression
。像\.
这样转义句点也不起作用。在
我想出的一个解决方案是使用FooDOTBar instead of Foo.Bar
,然后将生成的sql文件中的所有“点”替换为“.”,但这会破坏其他一些数据,并且不是最佳的。有什么更好的建议从头开始处理这个问题?在
在查询中,
values
可以是assigned with dictionary。所以你可以做一些类似的事情:查看insert文档了解更多选项
还有一种^{} 的替代形式,您可以传入一个
dict
来代替:相关问题 更多 >
编程相关推荐