簡體   English   中英

Java MySQL在刪除行時更新行

[英]Java MySQL updating rows when deleting a row

我有一個帶有AUTO_INCREMENTING id列和name列的數據庫。 如果我從數據中刪除一行,我想更新所有其他行的id,以便該順序再次正確,那么我很失落,請幫助我。

我嘗試了這個:

stmt = conn.createStatement();
        rs = stmt.executeQuery("SELECT COUNT(id) FROM " + table_name_products);
        int count = 0;
        while(rs.next()){
            count = rs.getInt("COUNT(id)");
        }

        stmt = conn.createStatement();
        for(int i = 1; i <= count; i++){
            if(i > id){
                stmt.addBatch("UPDATE " + table_name_products + " SET id = "+ i-- +" WHERE id = "+ i +";");
            }
        }

我認為這是不可能的。

我認為唯一的解決方案是在刪除某處之后緩存所有行,刪除這些行,然后將緩存的行再次添加到表中。

可能會有數據庫管理命令來執行此操作,但是您不希望在每次刪除后都執行此操作。

那數據庫觸發器呢 在這里看看。

數據庫觸發器是響應於數據庫中特定表或視圖上的某些事件而自動執行的過程代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM