Rumah > Artikel > pangkalan data > Bagaimana untuk Melihat Pertanyaan Sebenar yang Dilaksanakan oleh MySQLdb?
Cara Melihat Pertanyaan Sebenar yang Dilaksanakan oleh MySQLdb
Apabila menyahpepijat pertanyaan pangkalan data dalam Python menggunakan MySQLdb, adalah berguna untuk memeriksa dengan tepat pertanyaan sedang dilaksanakan, terutamanya selepas parameterisasi. Ini boleh membantu dalam mengenal pasti sebarang ralat atau percanggahan antara pertanyaan yang dimaksudkan dan pelaksanaannya yang sebenar.
Mengakses Pertanyaan yang Dilaksanakan
Dalam MySQLdb versi 1.2.2, objek Kursor tidak menyediakan kaedah Cursor.info() eksplisit untuk mendapatkan semula maklumat pertanyaan. Walau bagaimanapun, terdapat atribut yang dipanggil cursor._last_executed yang memegang rentetan pertanyaan yang terakhir dilaksanakan. Atribut ini boleh diakses walaupun apabila pengecualian berlaku semasa pelaksanaan pertanyaan.
Contoh Penggunaan
Untuk menggunakan atribut ini untuk tujuan nyahpepijat, anda boleh mengaksesnya selepas melaksanakan pertanyaan sebagai berikut:
<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>
Faedah
Menggunakan kursor._last_executed menawarkan beberapa faedah berbanding teknik penyahpepijatan lain seperti pemprofilan atau pengelogan pertanyaan MySQL:
Atas ialah kandungan terperinci Bagaimana untuk Melihat Pertanyaan Sebenar yang Dilaksanakan oleh MySQLdb?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!