繁体   English   中英

删除最后一行Java MYSQL

[英]Delete last row java MYSQL

我有按钮从数据库中删除行。 我想问一下如何在Java中删除最后一行? 我只知道resultset .getLong(1)方法是.getLong(1)但它适用于当前行,也就是顶部行。如何获取Java结果集中的最后一行?

这是我的代码

try{
    koneksi_db();
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery("select * from line");
    rs.next();
    long id = rs.getLong(1);
    stmt.executeUpdate("DELETE FROM line WHERE UniqueID = '"+id+"'");
}catch(Exception e){
    JOptionPane.showMessageDialog(null, "error menghapus line");    
}

您必须定义'last'-您可以通过对结果进行排序,只需在查询的末尾添加“ order by [column]”,并为升序或降序添加“ ASC”或“ DESC”即可。 您可以按任何顺序对任何列进行排序,这就是为什么定义“最后一个”记录是最重要的原因,然后添加一个限制以使仅返回第一行是很重要的:“限制1”(切换顺序,使这1行是与您定义的“ last”相同,然后可以使用“ IN”语句将您的语句与子查询匹配,作为delete语句中where子句的一部分。这假定没有重复并删除一条记录。可以使用列的max / min值-如果排序依据的列中存在重复的记录,具有min / max最小值,则将删除具有min / max值的所有记录。

第一种技术-“ WHERE IN”将列与子查询中的所有结果进行比较-这就是为什么我们将子查询的结果限制为一个结果:

从[表]删除,其中[列]位于(按[列] asc限制1从[表]顺序中选择[列])

第二种技术是在IN子句中使用min或max函数来执行相同的操作-使用哪个取决于您定义“最后一个”记录的方式-如果您绝对确定没有重复项,这会稍微提高效率。

从[表格]删除,其中[[表格]中的SELECT max([column])中的[列])

您可能需要仔细检查我的SQL以确保它与mySQL兼容,某些数据库使用“ IS IN”,但这是基本思想。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM