Rumah >Java >javaTutorial >Mengapa Saya Tidak Boleh Menggunakan Parameter Penyata Disediakan untuk Nama Jadual dalam SQL?

Mengapa Saya Tidak Boleh Menggunakan Parameter Penyata Disediakan untuk Nama Jadual dalam SQL?

Linda Hamilton
Linda Hamiltonasal
2024-12-11 10:10:18167semak imbas

Why Can't I Use Prepared Statement Parameters for Table Names in SQL?

Isu Parameter Penyata Disediakan dengan Nama Jadual

Dalam percubaan untuk menetapkan nama jadual secara dinamik untuk pengambilan data, ralat ditemui dalam pelaksanaan pernyataan yang disediakan. Sebab ralat ini berasal daripada penggunaan parameter yang dijangkakan nama jadual.

Kod sampel yang disediakan menggunakan pernyataan yang disediakan dengan pemegang tempat parameter "?" dan cuba untuk memberikan nilai kepadanya, mewakili nama jadual. Walau bagaimanapun, ini tidak dibenarkan kerana nama jadual tidak boleh ditentukan secara dinamik melalui parameter. Ia mesti ditakrifkan secara eksplisit dalam pertanyaan itu sendiri.

Penyelesaian

Untuk menyelesaikan isu ini, kod keras nama jadual terus ke dalam rentetan pertanyaan, seperti yang ditunjukkan di bawah:

private String query1 = "SELECT plantID, edrman, plant, vaxnode FROM [" + reportDate + "]"?";

Pengubahsuaian ini memastikan bahawa nama jadual ditakrifkan dengan betul dalam pertanyaan dan boleh berjaya dilaksanakan tanpa ralat yang disebutkan di atas.

Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Menggunakan Parameter Penyata Disediakan untuk Nama Jadual dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn