簡體   English   中英

僅當值大於當前值時才更新字段的SQL語句

[英]SQL statement to update a field only if the value is greater than the current one

到目前為止,我有這樣的聲明:

String query = "UPDATE Score SET Points = "+scorecard[TOTAL][i]+" WHERE Name = "+players[i].getName()+" AND Lastname = "+players[i].getLastName()";

知道我應該怎么做嗎? 我看到某處使用CASE WHEN語法但無法使其工作。

你想要的

update score set points = ? where
      name = ? and lastname = ?
      and points < ?

作為SQL。 請使用PreparedStatement。

try(PreparedStatement ps = con.prepareStatement("update score set " + 
     " points = ? where name = ? and lastname = ? and points < ?") {
  ps.setInt(1, scorecard[TOTAL][i]);
  ps.setString(2, players[i].getName());
  ps.setString(3, players[i].getLastName());
  ps.setInt(4, scorecard[TOTAL][i]);
  ps.executeUpdate(); 
}

暫無
暫無

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

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