Python 在pymysql中获取执行的sql语句

Python 在pymysql中获取执行的sql语句,python,mysql,sql,Python,Mysql,Sql,我正在执行一个无效的查询,但我希望能够准确地看到pymysql执行的查询是什么,以便对其进行调试。有没有一种方法可以做到: try: self.cursor.execute(SQL, tuple(PARAMS)) except: print (self.cursor.last_executed_statement) # ?? 根据,您应该能够做到: print (self.cursor.statement) 此只读属性以字符串形式返回最后执行的语句。这个 语句属性对于调试和显

我正在执行一个无效的查询,但我希望能够准确地看到pymysql执行的查询是什么,以便对其进行调试。有没有一种方法可以做到:

try:
    self.cursor.execute(SQL, tuple(PARAMS))
except:
    print (self.cursor.last_executed_statement) # ??
根据,您应该能够做到:

print (self.cursor.statement)
此只读属性以字符串形式返回最后执行的语句。这个
语句
属性对于调试和显示发送到MySQL服务器的内容非常有用

如果执行了多语句字符串,则该字符串可以包含多个语句。对于multi=True的execute(),会发生这种情况。在这种情况下,
语句
属性包含整个语句字符串,
execute()
调用返回一个迭代器,该迭代器可用于处理各个语句的结果。此迭代器的
语句
属性显示各个语句的语句字符串


谢谢,是的,不幸的是有时候它甚至没有走那么远!例如,有时在它尝试执行SQL之前,它会给我一个字符串格式错误,所以当事情如此抽象时,调试起来就有点麻烦了。。。