微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

准备好的语句java中的OR子句

如何解决准备好的语句java中的OR子句

我们可以在使用 Java 的 PreparedStatement 中使用 OR 子句吗?

PreparedStatement stmt=con.prepareStatement("delete from emp where id=?");  
stmt.setString(1,"'MIKE' || 'ANDY'"); 
int i = stmt.executeUpdate();  
System.out.println(i + " records deleted");  

解决方法

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

但是你可以用 2 个占位符来写:

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");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。