有没有办法在使用 ORDER BY 的同时仍然使用 deleterow()?

Is there a way to use ORDER BY and still use deleterow()?

我使用的代码删除了数据库中的最后一行。根据我的阅读,一旦我使用 ORDER BY 它将结果设置回只读,这使得 deleterow() 或任何其他涉及更新数据库的事情都不可能。

是否有变通办法让我可以在 table ORDER BY Score DESC 的同时删除我需要删除的行?

        String host = "jdbc:derby://localhost:1527/Scores";
        String uName = "root";
        String uPass= "root";

         Connection con = DriverManager.getConnection( host, uName, uPass );
         Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                                ResultSet.CONCUR_UPDATABLE);

         String SQLd = "select * from ROOT.HISCORES ORDER BY Score DESC";

         ResultSet dl = stmt.executeQuery( SQLd );

         dl.last();
         dl.deleteRow();

    }

我觉得这不是一个好的做法。

与其将数据 SELECT 写入 Java 然后从那里删除,不如在数据库级别进行。执行 delete-select 并跳过大部分 Java 工作。

类似于:

DELETE FROM root.hiscores
WHERE Score = (SELECT MIN(hs.Score) FROM root.hiscores hs)