我是 mysql 的新手,正在尝试从 eclipse 中的 mysql 表中选择 N 行。现在,我想从数据库中选择 N 行相同的值。我正在使用以下代码
User user= null;
ArrayList<User> searchedUsers = new ArrayList<User>();
PreparedStatement stmt = null;
ResultSet rs = null;
try {
String authenticationSql;
authenticationSql = "SELECT * FROM users WHERE " + searchIn + " = ?";
log.info(authenticationSql);
stmt = (PreparedStatement) dbConn.prepareStatement(authenticationSql);
stmt.setString(1, searchFor);
rs = stmt.executeQuery();
while (rs.next()) {
user = new User(rs.getString("username"),
rs.getInt("user_type"), OnlineStatus.ONLINE);
searchedUsers.add(user);
}
rs.close();
stmt.close();
} catch (SQLException ex) {
log.error("SQLException: " + ex.getMessage());
log.error("SQLState: " + ex.getSQLState());
log.error("VendorError: " + ex.getErrorCode());
}
问题是这段代码只返回搜索的第一个值,而不是从数据库中选择的其余值。请有人指出我在这里做错了什么。任何帮助将不胜感激。谢谢。
最佳答案
您不能在这样的语句中使用 count(*)
。
它应该给你一些错误,如 如果没有 GROUP BY 子句,则将 GROUP 列(MIN()、MAX()、COUNT(),...)与没有 GROUP 列混合是非法的
关于java - 从 mysql 数据库中的 N 行中选择相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8291421/