解決Postgresql 中的「列不存在」錯誤
儘管在PostgreSQL 和Java 之間建立了連接,但在嘗試以下操作時仍會遇到錯誤執行刪除操作,並顯示訊息「列'mac'不存在」。儘管表中存在 MAC 列,但此問題源自於 Postgresql 實體名稱區分大小寫。
要解決此問題,當列名稱包含大寫字母時,請用雙引號 (" ") 引起來。在您的情況下,修改查詢如下:
String stm = "DELETE FROM hostdetails WHERE \"MAC\" = 'kzhdf'";
此外,為了增強安全性並防止SQL 注入漏洞,請利用準備好的語句並透過參數設定值:
con = DriverManager.getConnection(url, user, password); String stm = "DELETE FROM hostdetails WHERE \"MAC\" = ?"; pst = con.prepareStatement(stm); pst.setString(1, "kzhdf"); pst.executeUpdate();
這種方法確保列名和值之間的精確匹配,避免「列不存在」錯誤並增強代碼的安全性。
以上是如何修復 Java 中 PostgreSQL 的「列不存在」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!