public ResultSet getResourcesById(String id, String type)
{
try {
conn = connect();
selectStatement = "SELECT * FROM " + type + "WHERE ID LIKE ?";
preparedStatement = conn.prepareStatement(selectStatement);
preparedStatement.setString(1, "%ba%");
res = preparedStatement.executeQuery();
return res;
} catch (SQLException ex) {
Logger.getLogger(CatalogDB.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
大家好。我在我的系统中使用java。我试图输入一个仲裁字符串,但它一直告诉我这个错误:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:你有一个 SQL语法错误;查看与您的手册相对应的手册 MySQL服务器版本的正确语法在'LIKE'%ba%''附近使用 第1行
有人可以向我解释为什么会出现这个错误,我很确定我正确地遵循了语法。
答案 0 :(得分:15)
错误不在LIKE
上。您在WHERE
子句之前错过了一个额外的空格。
selectStatement = "SELECT * FROM " + type + " WHERE ID LIKE ?";
^ add space here