解决 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中文网其他相关文章!