【发布时间】:2011-10-27 14:55:54
【问题描述】:
我正在寻找一种在执行查询时调试查询的方法,我想知道是否有一种方法可以让 MySQLdb 在完成插入参数之后打印出它运行的实际查询?从文档来看,似乎应该有一个 Cursor.info() 调用,它将提供有关上次查询运行的信息,但这在我的版本 (1.2.2) 上不存在。
这似乎是一个显而易见的问题,但我一直在寻找答案。提前致谢。
【问题讨论】:
-
不知道这个库,但如果它使用实际 MySQL 的准备语句,那么实际查询将类似于
EXECUTE stmt USING @var1, var2,....。不知道对你有没有帮助。 -
我只需打开general query log,然后查看执行了什么查询。
-
@MichaelMior 这并不总是一种选择,尤其是对于像 Amazon 的 RDS 这样的托管 MySQL。让 python 端访问它很有用。 (只是想指出,改变mysql日志设置并不总是可行的。)
-
@TravisLeleu 我确信在某些情况下确实如此,但您可以访问 RDS 上的常规日志。 docs.aws.amazon.com/AmazonRDS/latest/UserGuide/…
标签: python mysql mysql-python