MYSQL错误:com.mysql.jdbc.NotUpdatable

Sta*_*olf 7 mysql primary-key executequery

我收到了这个错误

javax.servlet.ServletException:com.mysql.jdbc.NotUpdatable:结果集不可更新.

我知道这个错误是关于主键但是对于我的所有表我最初插入一个主键.所以对于这个表我也有一个主键.我发布了我的部分代码.

Statement st=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs=st.executeQuery("Select * from test3 order by rand() limit 5");
List arrlist = new ArrayList();
while(rs.next()){
   String xa =rs.getString("display");
   if(xa.equals("1")){
      arrlist.add(rs.getString("question_text"));
   }
   rs.updateString("display", "0");
   rs.updateRow();
Run Code Online (Sandbox Code Playgroud)

请告诉我这段代码是否出错.请帮忙.这是我的数据库

+----------------+---------------+------+-----+---------+----------------+
| Field          | Type          | Null | Key | Default | Extra          |
+----------------+---------------+------+-----+---------+----------------+
| id             | int(11)       | NO   | PRI | NULL    | auto_increment |
| index_question | varchar(45)   | YES  |     | NULL    |                |
| question_no    | varchar(10)   | YES  |     | NULL    |                |
| question_text  | varchar(1000) | YES  |     | NULL    |                |
| file_name      | varchar(128)  | YES  |     | NULL    |                |
| attachment     | mediumblob    | YES  |     | NULL    |                |
| display        | varchar(10)   | YES  |     | NULL    |                |
+----------------+---------------+------+-----+---------+----------------+
Run Code Online (Sandbox Code Playgroud)

log*_*gan 1

您必须在获取行后立即更新该行(对于 UPDATE 和 rs.updateRow(),

或者

你必须编写一个 UPDATE tablename set = where 语句来随时更新一行