Java 使用单个准备好的语句删除1条以上的记录

Java 使用单个准备好的语句删除1条以上的记录,java,mysql,prepared-statement,Java,Mysql,Prepared Statement,我正在执行两条准备好的语句来删除两条id不同的记录。我想在一条准备好的语句执行中删除这两条记录 我的代码是这样的 String sqlDelete,sqlSelect2; sqlDelete = "delete from vul_detail where scanno=? and id=?";// PreparedStatement ps2=conn.prepareStatement(sqlDelete); // System.out.println("PS Cre

我正在执行两条准备好的语句来删除两条id不同的记录。我想在一条准备好的语句执行中删除这两条记录 我的代码是这样的

String sqlDelete,sqlSelect2;
  sqlDelete = "delete from vul_detail where scanno=? and id=?";//
            PreparedStatement ps2=conn.prepareStatement(sqlDelete);
//  System.out.println("PS Created Successfully");
  ps2.setString(1, "scan_2");
  ps2.setInt(2, 2);
 // ps2.setInt(3, 5);
  ps2.executeUpdate();
  System.out.println("first record deleted");
  ps2.setString(1, "scan_2");
  ps2.setInt(2, 5);
  ps2.executeUpdate();
  System.out.println("second record deleted");
     sqlSelect2="select * from vul_detail;"; 
           stmt=conn.createStatement();
System.out.println("select query created");
ResultSet rs2 = stmt.executeQuery(sqlSelect2);
我试着问他

sqlDelete = "delete from vul_detail where scanno=? and id=?,?";
PreparedStatement ps2=conn.prepareStatement(sqlDelete);
System.out.println("PS Created Successfully");
 ps2.setString(1, "scan_2");
 ps2.setInt(2, 2);
 ps2.setInt(3, 5);
 ps2.executeUpdate();
我在这方面遇到异常,请帮助

条件“in”的语法是:

expression in (value1, value2, .... value_n);
在您的示例中:

sqlDelete = "delete from vul_detail where scanno = ? and id in (?, ?)";
“IN”条件的语法为:

expression in (value1, value2, .... value_n);
在您的示例中:

sqlDelete = "delete from vul_detail where scanno = ? and id in (?, ?)";

你已经得到了一个解决这个问题的答案(因为这很明显)。但是请记住在以后的问题中包括异常,而不是仅仅说“我遇到异常”。你已经得到了一个应该解决这个问题的答案(因为它很明显)。但请记住在以后的问题中包括例外情况,而不仅仅是说“我遇到了例外情况”。