我有一个奇怪的问题。我的代码中有一个更新查询,它是从 Java 应用程序运行的。我有一个 PreparedStatement,为此我传递了 2 个 java.sql.Date 参数。当我运行查询时,它会记录此异常:
DatabaseObject - 无法执行更新查询:UPDATE data_cache_cycle_data dc SET last_7days_receipts = sq.x FROM (SELECT asin,count(asin) as x FROM inventory WHERE created_date = (date '2012-08-22 +02:00:00' - ' 6 天'::interval) GROUP BY asin ) AS sq WHERE dc.asin = sq.asin 。 org.postgresql.util.PSQLException: 错误:“$2”处或附近的语法错误 职位:177 在 org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2101) 在 org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1834) 在 org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255) 在 org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:510) 在 org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:386) 在 org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:332)
现在,如果我从异常日志中复制粘贴查询,查询在 pgAdmin 中执行没有问题。
我错过了什么?