java语句中的OR子句

java语句中的OR子句,java,sql,jdbc,prepared-statement,Java,Sql,Jdbc,Prepared Statement,我们可以使用java在PreparedStatement中使用OR子句吗 PreparedStatement stmt=con.prepareStatement("delete from emp where id=?"); stmt.setString(1, "'MIKE' || 'ANDY'"); 不,这不是原始文本替换,您不能插入查询块并期望它们被合并到中。替换占位符的每个对象都会被清理、编码并作为单独的值引用 但您可以使用两个占位符来编写它:

我们可以使用java在PreparedStatement中使用OR子句吗

PreparedStatement stmt=con.prepareStatement("delete from emp where id=?");  
stmt.setString(1, "'MIKE' || 'ANDY'"); 

不,这不是原始文本替换,您不能插入查询块并期望它们被合并到中。替换占位符的每个对象都会被清理、编码并作为单独的值引用

但您可以使用两个占位符来编写它:

PreparedStatement stmt=con.prepareStatement(
    “delete from emp where id in (?, ?)”);
stmt.setString(1,"MIKE”);
stmt.setString(2, “ANDY”);

如果in子句中有很多值,另一种方法是将这些值放入表中并连接到表中。

您只需使用两个参数即可

PreparedStatement stmt=con.prepareStatement("delete from emp where id=? or id=?");
stmt.setString(1,"ANDY");
stmt.setString(2,"MIKE");
其中id位于(?,)
并指定两个参数。
PreparedStatement stmt=con.prepareStatement("delete from emp where id=? or id=?");
stmt.setString(1,"ANDY");
stmt.setString(2,"MIKE");