Mysql
 sql >> Database >  >> RDS >> Mysql

Timeout attesa blocco superato; prova a riavviare la transazione usando JDBC

Modifica il codice e riordina le esecuzioni come segue. Dovrebbe funzionare bene:

Statement statement = connection.createStatement();
statement.execute("insert into student values (3,'kamal')");
connection.commit();

Statement statement1 = connection1.createStatement();
statement1.execute("delete from student where student_id = 3");
connection1.commit();

Il problema è che l'istruzione di inserimento eseguita in precedenza non è ancora stata salvata e mantiene il blocco sulla tabella quando si tenta di eseguire una nuova istruzione di eliminazione creando una situazione di deadlock all'interno di DB.