Flask SQLAlchemy怎么查看参数化查询的实际SQL语句
2024-01-09 16:31:17
Flask SQLAlchemy操作数据库时,不管是直接用sql语句还是用orm,有的时候为了调试,都需要知道参数化查询的sql语句生成的实际sql语句是什么。
比如:
params = {'org': '123'}
# 如下是参数化查询sql语句,如果sql语句很长,
# 想知道实际的sql语句,即:
# "select name from table1 where org='123'"
# 怎么办?
sql = "select name from table1 where org=:org"
db.session.execute(sql, params).fetchall()
经过层层调试,发现实际语句在 pymysql/cursors.py
中的 Cursor.mogrify 方法中生成(其他mysql驱动如mysqlclient,情况也类似),在 return query
打个断点,调式时就能看到实际的sql语句了:
Cursor.mogrify 方法所在文件(pymysql包下的cursors.py文件):
完。
文章来源:https://blog.csdn.net/damiaomiao666/article/details/135482809
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!