我收到了这个错误
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 | …Run Code Online (Sandbox Code Playgroud) 我刚刚使用了这个查询
SELECT * FROM questions
ORDER BY RAND()
LIMIT 20;
Run Code Online (Sandbox Code Playgroud)
在 mysql 数据库上,我有一个名为 display 的列(以及问题列),其中值等于 1。所以现在正如您在查询中看到的那样,我限制为 20。我想更改所有的值20 显示=0。我知道这是查询
update test3
set display=0
where id=11;
Run Code Online (Sandbox Code Playgroud)
但这只是设置一行的显示。我该如何做 20 行呢?提前致谢。