Mengambil semula SQL Sebenar yang Dilaksanakan oleh PreparedStatement
Dalam PreparedStatement Java, templat SQL dan parameter pertanyaan dipisahkan semasa penciptaan pernyataan. Pemisahan ini menghalang usaha penyahpepijatan, kerana pengelogan templat SQL tidak menggambarkan nilai sebenar yang digunakan.
Adakah terdapat cara untuk mendapatkan semula SQL sebenar yang dilaksanakan oleh PreparedStatement?
Malangnya, tiada cara langsung untuk mendapatkan semula SQL sebenar. Penyataan yang disediakan tidak menyimpan pertanyaan SQL akhir selepas mengikat parameter.
Penyelesaian Alternatif:
Mengapa maklumat ini tidak boleh diakses?
Setelah Penyata Prepared disediakan, pelayan pangkalan data mengoptimumkan pelan pelaksanaan pertanyaan berdasarkan jenis data dan faktor lain. Mencipta semula SQL asal daripada pernyataan terikat memerlukan analisis semula pernyataan, yang boleh menjadi tidak cekap.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan SQL Sebenar yang Dilaksanakan oleh PreparedStatement dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!