仅当值大于当前值时才更新字段的SQL语句

时间:2015-12-28 21:40:32

标签: java sql sqlite jdbc sql-update

到目前为止,我有这样的陈述:

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

知道我应该怎么做吗?我看到某处使用CASE WHEN语法,但无法使其正常工作。

1 个答案:

答案 0 :(得分:2)

你想要

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(); 
}
相关问题