2011-04-03 28 views
0

子句在下面的查詢:如何使用沒有與選擇

query = "SELECT * FROM racetimes WHERE course='" + myracecoursevariable + "'"; 

我想改變查詢,然後從數據庫中的數據,其中當然不等於在MYSQL在查詢中給出的動態變量。

回答

2
"SELECT * FROM racetimes WHERE not (course='" + myracecoursevariable + "')"; 

"SELECT * FROM racetimes WHERE course <> '" + myracecoursevariable + "'"; 

您應該使用準備好的發言動態變量傳遞到MySQL

2
query = "SELECT * FROM racetimes WHERE course <> '" + myracecoursevariable + "'"; 

<>的裝置NOT EQUAL,而=意味着EQUAL

PS。我寧願學習如何使用PreparedStatement代替'" + myracecoursevariable + "'";(請參閱Oracle的示例)。

3

您可以使用不等於<>而不是等於=

query = "SELECT * FROM racetimes WHERE course <> '" + myracecoursevariable + "'"; 
2
  1. 切勿字符串連接建立查詢 - 這是要求在道路上的問題(SQL注入,在比賽中「「」字符當然等)。在Java中,使用PreparedStatement?佔位符。
  2. 在SQL的!=操作<>
+0

我希望OP注意到這個! – BoffinbraiN 2011-04-03 06:36:42

+0

在MySQL中,'<>'和'!='是等價的。 – 2011-04-03 08:08:30

相關問題