1. ホーム
  2. python

MySQLdbが実行する実際のクエリを表示しますか?

2023-07-14 05:13:39

質問

私はクエリを実行しながらデバッグする方法を探していますが、MySQLdb がパラメータの挿入やその他を完了した後、実際に実行したクエリを印刷する方法があるでしょうか? ドキュメントを見ると、最後に実行されたクエリに関する情報を提供する Cursor.info() 呼び出しがあるように見えますが、私のバージョン (1.2.2) では存在しません。

これは明白な質問のように思えますが、私のすべての検索では、答えを見つけることができませんでした。 事前にありがとうございます。

どのように解決するのですか?

カーソルオブジェクトの属性に  cursor._last_executed というカーソル オブジェクトの属性を見つけ、例外が発生した場合でも最後に実行されたクエリ文字列を保持するようにしました。 これは、常にプロファイリングを使用したり、MySQL のクエリ ロギングを使用したりするよりも簡単で、実稼働環境においてより良い方法でした。

私自身の質問に答えるのは嫌ですが、これは私たちにとってより良く機能しています。