删除前一行时如何更新行ID?我在jsp中使用mysql查询

时间:2019-04-11 08:11:26

标签: java mysql jsp

'当任何行被删除时,我想重新组织和重新排列行。 例如:如果我删除id = 5的行,则第6个id的行应更改为5。

Java jsp和mysql用于netbeans。

编辑方法:

public void edit(int id, String title, String description, String detail, String category, String image){
     String sql = "update News set title = ?, description=?, Details=?, category=?, image=?" + " where id=? ";   
     PreparedStatement ps;
        try {
            ps = DBUtils.getPreparedStatement(sql);
            ps.setString(1,title);
            ps.setString(2,description );
            ps.setString(3,detail);
            ps.setString(4,category );
            ps.setString(5,image);
            ps.setInt(6,id);
            ps.executeUpdate();
        } catch (ClassNotFoundException | SQLException ex) {
            Logger.getLogger(DataAccess.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

删除方法:

public void delete(int id){
    try {
        String sql = "delete from News where id = ?";
        PreparedStatement ps = DBUtils.getPreparedStatement(sql);
        ps.setInt(1, id);
        ps.executeUpdate();
    } catch (ClassNotFoundException | SQLException ex) {
        Logger.getLogger(DataAccess.class.getName()).log(Level.SEVERE, null, ex);
    }
}

2 个答案:

答案 0 :(得分:0)

您不应该重新订购ID。您可以只使用ROW_NUMBER进行显示

答案 1 :(得分:0)

在delete方法中,您可以运行其他查询,

String query = "Update News set id = id-1 where id >" + id + ";";