如何查看MySQLdb 執行的實際查詢
當使用MySQLdb 在Python 中偵錯資料庫時,檢查確切的查詢會很有幫助正在執行的查詢,尤其是在參數化之後。這可以幫助識別預期查詢與其實際執行之間的任何錯誤或差異。
存取執行的查詢
在 MySQLdb 版本 1.2.2 中,遊標物件不提供明確的 Cursor.info() 方法來擷取查詢資訊。但是,有一個名為cursor._last_execulated 的屬性保存最後執行的查詢字串。即使在查詢執行期間發生異常,也可以存取此屬性。
使用範例
要利用此屬性進行調試,您可以在執行查詢後訪問它:如下所示:
<code class="python">import MySQLdb db = MySQLdb.connect(... ) cursor = db.cursor() # Execute a query with parameters query = "SELECT * FROM users WHERE name = %s" cursor.execute(query, ("John", )) # Print the actual query executed print(cursor._last_executed)</code>
優點
與其他調試技術(例如分析或MySQL 查詢日誌記錄)相比,使用cursor._last_execulated 具有多個優點:
以上是如何查看MySQLdb實際執行的查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!