String sql="select * from matrix where metric_name in(?)";
PreparedStatement st1 = conn.prepareStatement(sql);
st1.setString(1,"NO_OF_ORDERS");
resultSet = st1.executeQuery(sql);
while (resultSet.next()) {
}
相同的查询可以正常使用mysql 5.7,但我无法找到问题。 如何从jdbc
传递mysql 5.5中的参数错误是: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:您的SQL语法中有错误;检查与您的MySQL服务器版本对应的手册,以便在第1行的“?)”附近使用正确的语法
答案 0 :(得分:0)
您不应在executeQuery(String)
上致电PreparedStatement
,而应致电executeQuery()
。这是JDBC api明确禁止的,但只是出错(由于语法错误)MySQL Connector / J。
请注意,您当前的查询相当于:
select * from matrix where metric_name = ?
我没有看到你在这里使用IN
的原因。