DB に対して実行される前にパラメータで完了する必要がある SQL ステートメントがあるとします。例:
sql = '''
SELECT id, price, date_out
FROM sold_items
WHERE date_out BETWEEN ? AND ?
'''
database_cursor.execute(sql, (start_date, end_date))
解析され実行される文字列を取得するにはどうすればよいですか? たとえば次のようになります。
SELECT id, price, date_out
FROM sold_items
WHERE date_out BETWEEN 2010-12-05 AND 2011-12-01
この単純なケースではそれほど重要ではありませんが、他にももっと複雑な SQL ステートメントがあり、デバッグの目的で、それらを SQLite マネージャーで自分で実行して結果を確認したいと思います。
前もって感謝します
ベストアンサー1
更新。私が学んだのはこのウェブページPython 3.3以降では、実行されたSQLの出力を次のようにトリガーできます。
connection.set_trace_callback(print)
サイレント処理に戻したい場合は、
connection.set_trace_callback(None)
print
の代わりに別の関数、logging.debug
たとえばまたは を使用することもできますlogging.info
。