Rumah >pangkalan data >tutorial mysql >Mengapa Saya Tidak Boleh Menggunakan Penyata Disediakan untuk Nama Jadual dalam JDBC?
Parameterisasi Nama Jadual Alamat dalam Penyata Disediakan JDBC
Pernyataan yang disediakan JDBC menawarkan kelebihan keselamatan dan prestasi yang ketara, tetapi ia mempunyai had. Satu batasan tersebut ialah ketidakupayaan untuk menggunakan parameter sebagai nama jadual dalam pertanyaan SQL. Percubaan untuk berbuat demikian biasanya akan mengakibatkan ralat.
Penyelesaian adalah mudah: Daripada menggunakan pemegang tempat untuk nama jadual, masukkan terus nama jadual ke dalam rentetan pertanyaan SQL anda. Contohnya:
<code class="language-java">private String query1 = "SELECT plantID, edrman, plant, vaxnode FROM " + reportDate; </code>
Dalam contoh yang diperbetulkan ini, reportDate
(diandaikan mengandungi nama jadual sebenar) digabungkan terus ke dalam rentetan SQL. Ini mengelakkan percubaan untuk membuat parameter nama jadual, membolehkan pelaksanaan penyataan yang disediakan berjaya.
Adalah penting untuk mengingati kekangan ini: Nama jadual tidak dianggap sebagai parameter dalam pernyataan yang disediakan dan mesti disertakan secara eksplisit dalam pertanyaan. Kegagalan berbuat demikian akan menyebabkan kegagalan pertanyaan.
Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Menggunakan Penyata Disediakan untuk Nama Jadual dalam JDBC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!