我是sqlalchemy的新手,并且已经尝试了好几天了!
我有一些python代码正在执行以下行:
mdb_session.query(PendingConfig).filter(PendingConfig.id == config.id).delete()
它正在删除名为PendingConfig
的表格中的所有行,id
等于给定的config.id
。
我想记录生成但不知道如何操作的基础SQL查询sqlalchemy,因为delete()
返回的整数等于删除的行数。
我尝试设置一个记录器但是它有自己的问题,正如我在this post中所解释的那样。
需要帮助!
答案 0 :(得分:1)
如果你真的想要获得MySQL服务器实际运行的SQL,那么你可以启用MySQL查询日志或慢查询日志,并从数据库服务器读取它。
请参阅https://dev.mysql.com/doc/refman/5.7/en/slow-query-log.html
MySQL服务器对Python一无所知,只知道客户端发送了一个查询来执行。
如果它是参数化查询,它将在SQL文本中包含?
个占位符,但据我所知,SQLAlchemy不会占位符。在将参数值发送到MySQL之前,它总是将参数值插入到SQL查询中。