Ralat Sintaks PreparedStatement
Di Java, PreparedStatements menawarkan keselamatan dan prestasi yang dipertingkatkan untuk pertanyaan SQL berparameter. Walau bagaimanapun, menghadapi ralat sintaks dengan PreparedStatements boleh mengecewakan.
Dalam kes khusus ini, kod asal menimbulkan ralat sintaks MySQL apabila cuba melaksanakan SQL berikut:
SELECT `value` FROM `sampling_numbers` WHERE `value` < (?)
Akar ralat sebab terletak pada penggunaan stmt.executeQuery(sql); yang salah, yang memanggil kaedah Penyata dan bukannya kaedah PreparedStatement yang dimaksudkan. Untuk menyelesaikan isu ini, cuma ubah suai kod untuk digunakan:
return this.stmt.executeQuery();
Pembetulan ini memastikan bahawa parameter PreparedStatement diikat dengan betul dan pertanyaan SQL dilaksanakan dengan betul.
Atas ialah kandungan terperinci Mengapa Pernyataan Persediaan Saya di Java Melemparkan Ralat Sintaks MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!