簡體   English   中英

准備好的語句 java 中的 OR 子句

[英]OR clause in prepared statement java

我們可以在使用 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");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM