Sửa đổi mã của bạn và sắp xếp lại các lần thực thi như sau. Nó sẽ hoạt động tốt:
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();
Vấn đề là, câu lệnh chèn được thực thi trước đó vẫn chưa được cam kết và việc giữ khóa trên bảng khi bạn đang cố gắng thực hiện một câu lệnh xóa mới tạo ra tình huống bế tắc bên trong DB.