gpt4 book ai didi

java - 组织.postgresql.util.PSQLException : ERROR: column "id" does not exist - Java Web Service

转载 作者:行者123 更新时间:2023-11-29 12:10:20 26 4
gpt4 key购买 nike

我正在开发一个广泛部署的 Java Web 服务。它连接到 postgresql 数据库。在这个数据库中,我有一个名为 xx_activity 的表。其中有一个名为“id”的列,它也是主键。这是用于创建表的查询:

CREATE TABLE xx_activity
(
id serial NOT NULL,
baseitemid integer
);

要连接到此表,我使用以下 java 代码:

conn = postgresVoyateDBConnection();
query = conn.prepareStatement("select id, baseitemid" +
"from xx_activity " +
"where \"id\" = ? ");

query.setInt(1, id);
ResultSet rs = query.executeQuery();

但是,当我调用包含这段代码的方法时,出现错误:

org.postgresql.util.PSQLException: ERROR: column "id" does not exist

Position: 8

这令人困惑,因为我当然有这个专栏。我根据 this answer 添加了转义字符, 但并没有解决问题。

另请注意,没有 where 子句的查询,例如:

conn = postgresVoyateDBConnection();
query = conn.prepareStatement("select id, baseitemid " +
"from xx_activity");

ResultSet rs = query.executeQuery();

完美运行。

我也试过不使用转义字符,但它给出了同样的错误。我还检查了 pgadmin,列名中没有尾随空格,也没有涉及任何大写字母(在这种情况下,其他选择查询不应该起作用?)。

如何解决这个问题?

最佳答案

已修复此问题,问题是缺少空格。在查询的第一行之后,需要有一个空格,如下所示:

query = conn.prepareStatement("select id, baseitemid " +
"from xx_activity " +
"where \"id\" = ? ");

编辑:id 不需要转义字符;所以最终答案应该是:

 query = conn.prepareStatement("select id, baseitemid " +
"from xx_activity " +
"where id = ? ");

关于java - 组织.postgresql.util.PSQLException : ERROR: column "id" does not exist - Java Web Service,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39407716/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com