首页 > 数据库 > mysql教程 > 为什么从 PostgreSQL 删除时我的 Java 代码会抛出'列不存在”错误?

为什么从 PostgreSQL 删除时我的 Java 代码会抛出'列不存在”错误?

Mary-Kate Olsen
发布: 2024-12-27 05:43:13
原创
267 人浏览过

Why Does My Java Code Throw a

错误:使用 Java 从 PostgreSQL 删除时列不存在

简介

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板