Я получаю эту ошибкуошибка MYSQL: com.mysql.jdbc.NotUpdatable
javax.servlet.ServletException: com.mysql.jdbc.NotUpdatable: Result Set not updatable.
Я знаю, эта ошибка относительно первичного ключа, но и для всех моих таблиц я сначала вставить первичный key.So для этой таблицы также у меня есть первичный ключ. Я отправляю часть своего кода.
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();
Просто скажите мне, если что-то не так в этом коде. Это моя база данных
+----------------+---------------+------+-----+---------+----------------+
| 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 | |
+----------------+---------------+------+-----+---------+----------------+
Вы не указали, как вы выделили инструкцию ('st'). Вы должны установить его обновляемым в вызове 'createStatement'. –
Это также есть инструкция st = con.createStatement (ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); –
Вы пытались добавить предложение «FOR UPDATE» в SELECT? –