当前位置: 首页 > 面试题库 >

打印实际查询MySQLdb运行?

逄边浩
2023-03-14
问题内容

我正在寻找一种在执行查询时调试查询的方法,我想知道是否有一种方法可以让MySQLdb在完成参数插入及所有操作之后打印出它运行的实际查询?从文档看来,似乎应该有一个Cursor.info()调用,该调用将提供有关上次查询运行的信息,但是在我的版本(1.2.2)中不存在。

这似乎是一个显而易见的问题,但是对于我所有的搜索,我一直找不到答案。提前致谢。


问题答案:

我们在游标对象上发现了一个名为的属性,cursor._last_executed即使发生异常,该属性仍
保留要运行的最后一个查询字符串。与一直使用概要分析或MySQL查询日志记录相比,这对我们在生产中更容易和更好,因为这两者都对性能产生影响,并且涉及更多代码或与更多相关的独立日志文件等。

讨厌回答我自己的问题,但这对我们来说更好。



 类似资料:
  • 问题内容: 我正在寻找一种在执行查询时对其进行调试的方法,我想知道是否有一种方法可以使MySQLdb在完成参数插入及所有操作之后打印出它所运行的实际查询?从文档中看,似乎应该有一个Cursor.info()调用,该调用将提供有关上次查询运行的信息,但是在我的版本(1.2.2)中不存在。 这似乎是一个显而易见的问题,但是对于我所有的搜索,我一直找不到答案。提前致谢。 问题答案: 我们在游标对象上发现

  • 问题内容: 我有一些Node.js代码,尝试通过以下方式更新数据库: 对于不同的“命令”值,将重复运行以上操作,从而生成对数据库的不同查询。问题在于,当出现错误时,错误的查询会显示在中。这是因为将查询添加到队列的时间与实际执行查询的时间不同,因此每次这些时间的“ command”值都不相同。有没有解决的办法? 注意:打印错误本身以及查询的一部分,但仅打印发生错误的行。我想打印整个查询。 问题答案:

  • 问题内容: 我如何查看Jersey生成并发送到服务器的实际请求?我在处理特定请求时遇到问题,运行Web服务器的同伴要求查看完整的请求(带有标头等)。 问题答案: 如果您仅使用Jersey客户端API,则LoggingFilter(客户端过滤器)应该可以帮助您: 否则,您可以使用其他LoggingFilter(容器过滤器)再次在服务器上记录请求和响应。

  • 问题内容: 好的。我在这里建立了一个mysql查询浏览器,例如navicat。使用MySQLdb执行查询。 这是奇怪的部分。当我通过程序运行查询(使用MySQLdb)时,它给我成功,受影响的行= 1,但是当我在phpmyadmin中查看该查询时,该值没有改变。 因此,在执行查询之前,我先将其打印出来,然后将其复制并粘贴到phpmyadmin的查询窗口中,然后单击go即可运行。长话短说,更新查询不起

  • 问题内容: 是否可以在Magento中显示所有查询字符串?我真的很想看看执行了哪些查询。 谢谢 问题答案: 我不是100%确定这将捕获 每个 查询,但是大多数运行 在 考虑到这一点,您可以临时添加一些调试语句(为了安全起见,请向您制作的副本中添加) 如果您需要全部捕获它们,最好在MySQL级别进行(这并非总是可能的,具体取决于您的主机/ IT情况)

  • 环境: Win10 x64, .NET6.0 C# WinForm, VS Professional 2022 ,WPS PDF 虚拟打印机。 问题: C# WinForm 【打印预览】时尺寸正确, 但打印到 【WPS PDF 虚拟打印机】或【真打印机】时尺寸就不正确了。请问如何解决? 不要用第三方插件。