Rumah >pangkalan data >tutorial mysql >Mengapa Pernyataan PostgreSQL DELETE Saya Gagal dengan 'Ralat: Lajur tidak wujud'?
Menyelesaikan masalah "Ralat: Lajur tidak wujud" Apabila Memadam Daripada PostgreSQL
Semasa cuba memadamkan rekod daripada jadual PostgreSQL menggunakan Java JDBC, anda mungkin menghadapi ralat yang menunjukkan bahawa lajur yang dinyatakan dalam pertanyaan DELETE tidak wujud. Untuk menyelesaikan isu ini, pertimbangkan perkara berikut:
Sensitiviti Kes Nama Entiti Melarikan Diri
PostgreSQL adalah sensitif huruf besar-kecil untuk nama entiti (cth., nama jadual dan lajur). Jika nama lajur anda mengandungi huruf besar, anda mesti melampirkannya dalam petikan berganda ("") untuk mengelakkan sensitiviti huruf besar.
Sebagai contoh, jika lajur anda dinamakan "MAC", ubah suai pertanyaan anda seperti berikut:
String stm = "DELETE FROM hostdetails WHERE \"MAC\" = 'kzhdf'";
Elakkan Penetapan Nilai Langsung dalam Penyata Disediakan
Menggunakan pst.executeUpdate() dengan tetapan nilai langsung dalam penyata yang disediakan tidak disyorkan. Sebaliknya, gunakan pst.setString(1, "kzhdf") untuk menetapkan nilai parameter dengan selamat.
String stm = "DELETE FROM hostdetails WHERE \"MAC\" = ?"; ... pst.setString(1, "kzhdf"); pst.executeUpdate();
Ini memastikan bahawa sebarang kemungkinan aksara khas atau percubaan suntikan SQL dikendalikan dengan selamat.
Atas ialah kandungan terperinci Mengapa Pernyataan PostgreSQL DELETE Saya Gagal dengan 'Ralat: Lajur tidak wujud'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!