java - Preparestatement不适用于连续问号
问题描述
我有这样的查询: select domain, hits from temp order by domain desc limit 10 offset 0; 现在通过 JDBC 和准备好的语句运行,我的查询转换为:
String prepareselectSQL="select domain,hits from temp order by ? ? limit ? offset ?;";
PreparedStatement preparedStatement = null;
preparedStatement = connection.prepareStatement(prepareselectSQL);
preparedStatement.setString(1, "domain");
preparedStatement.setString(2, "desc");
preparedStatement.setInt(3, 10);
preparedStatement.setInt(4, 0);
ResultSet rs = preparedStatement.executeQuery();
现在上面的代码给了我一个错误:
org.postgresql.util.PSQLException:错误:“$2”处或附近的语法错误
请对此提供帮助,我将如何在准备语句中使用连续的问号。
解决方案
推荐阅读
- git - 无法通过命令行将我的 Web 应用程序推送到 GitHub 存储库
- time-complexity - 不同参数顺序操作的时间复杂度
- apache-spark - Hadoop:火花作业无法处理小数据集
- kubernetes - 是否有一种安全的方法可以在同一个 Kubernetes pod 中的另一个容器中触发命令?
- java - ReentrantLock Condition signallAll() 是如何工作的?
- perl - PDL/perldl mac 奇怪的权限/恶意软件错误
- python - 为什么“#!/usr/bin/env PATH=... python”会挂起,在调用 python 时如何指定 PATH?
- cassandra - 当数据写入 Cassandra 中的副本时会发生什么情况,但由于缺少仲裁,协调器会向客户端返回超时异常?
- c# - 我无法将字符串转换为 int
- html - 如何在同一个div中将文本分成两个单独的部分