尝试获取最后一个自动递增的值时出现 SQL 异常

Getting SQL Exception when trying to get the last auto-incremented value

我已经尝试了所有方法,但没有任何效果,我是 mysql 和数据库的新手,我想获取最后一个自动递增的 ID(主键)(user_id)来自 table,来自 java。所以这个:SELECT MAX(user_id) FROM database_user; 在 mysql 中工作正常,我明白了,但为什么我不能从 java 中得到同样的东西??

PreparedStatement st = connection.prepareStatement("SELECT MAX(user_id) from database_user");
st.executeUpdate();
ResultSet rs = st.executeQuery();
int uid = rs.getInt(1);
System.out.println(uid);

这给了我 java.sql.SQLException: (conn=213) the given SQL statement produces an unexpected ResultSet object

这不是我尝试的唯一方法,它只是迄今为止的最后一个。如果有人能阐明一些问题,我将不胜感激。

您在执行查询和从结果集中获取之间缺少 rs.next();。这是必需的,将结果集移动到第一行。

你也不应该st.executeUpdate()。执行一次就够了