0

我正在执行两个准备好的语句来删除两个不同 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();

我在这方面遇到异常请帮助

4

1 回答 1

4

“IN”条件的语法是:

expression in (value1, value2, .... value_n);

在您的示例中:

sqlDelete = "delete from vul_detail where scanno = ? and id in (?, ?)";
于 2013-09-25T07:18:45.253 回答