将 Java 程序连接到 PostgreSQL 并执行 CRUD 操作对于许多人来说至关重要应用程序。本文解决了尝试使用 Java 从 PostgreSQL 表中删除数据时遇到的常见错误。
执行以下代码时:
con = DriverManager.getConnection(url, user, password); String stm = "DELETE FROM hostdetails WHERE MAC = 'kzhdf'"; pst = con.prepareStatement(stm); pst.executeUpdate();
用户可能会遇到错误:
SEVERE: ERROR: column "mac" does not exist
使用PostgreSQL时,实体名称具有大写字母的(例如表和列)必须使用双引号(“”)进行“转义”。因此,正确的代码是:
String stm = "DELETE FROM hostdetails WHERE \"MAC\" = 'kzhdf'";
此外,建议使用准备语句以获得更好的安全性和性能。代码应更新如下:
con = DriverManager.getConnection(url, user, password); String stm = "DELETE FROM hostdetails WHERE \"MAC\" = ?"; pst = con.prepareStatement(stm); pst.setString(1, "kzhdf"); pst.executeUpdate();
以上是为什么从 PostgreSQL 删除时我的 Java 代码会抛出'列不存在”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!