检索和更新字段 java

Retrieve and update field java

使用Java我想从我的数据库中获取所有ID和selectGW_STATUS如果等于0。我使用下面的SQL语句来实现这个。

PreparedStatement get_id = con.prepareStatement("SELECT ID from SF_MESSAGES where GW_STATUS = 0");

获得 ID 后,我想根据 ID 将 GW_STATUS 更新为 1,如下面的代码所示,但是当我执行代码时只有一个字段被更新。

PreparedStatement update = con.prepareStatement("update SF_MESSAGES set GW_STATUS=? where ID = ?");
    update.setInt(1,1);
    ResultSet x = get_id.executeQuery();
    while(x.next()){
        int uber = x.getInt(1);
        int array[] = new int[] {uber};
        for (int value : array) {
            System.out.println("Value = " + value); //Successfully obtains and prints each ID from the databse table
             update.setInt(2,value); // Only one ID is updated therefore only field updated
          }
    }
    int result = update.executeUpdate(); 
    System.out.println(result + " Records updated");

我试过在 for 循环中使用另一个更新语句来更新获得的每个 ID,但这也不起作用。如何根据 ID 成功更新每个字段?

你可以让整个过程变得简单很多。事实证明,您只想更新 SF_MESSAGES,其中 GW_STATUS 等于 0,因此您的查询可能如下所示:

update SF_MESSAGES set GW_STATUS=1 where GW_STATUS=0

因此,您不必获取 ID、遍历它们,这是更有效的解决方案。