Salut à tous,

Je travaille sous vista avec eclipse BD : MySQL.

Ma question est :
j'ai mis la colonne des Primary key (id) AUTO_INCREMENT, et j'ai 4 autres colonnes.
- disons que j'ai : n (rows) lignes
- je supprime la ligne avec l'id : "n-3"... cela s'effectue sans problème.
- mais sur le nouveau tableau j'ai cela:
id : n-5
id: n-4
id: n-2 *********
id: n-1
id: n
- je veux rendre le (id: n-2) en (id: n-3) et ainsi de suite ==> (id: n-1) en (id: n-2)...
sans pour autant affecter les autres colonnes de la ligne
- c'est-à-dire décrémenter toutes les lignes se trouvant après la ligne supprimée, comme je travaille avec java.

j'ai essayé avec cette méthode
-
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
    //methode delButton
   private void delButtonActionPerformed(ActionEvent evt) {
 
        int select = stockTable.getSelectedRow() + 1;
 
       String sql="";
       String sql2 = "";
 
        try{
 
            sql=" DELETE FROM tab_bas " +
                   "WHERE id = " + 'select';
            stmt.executeUpdate(sql);
 
            sql2 = "SELECT id FROM tab_bas";
            ResultSet rs = stmt.executeQuery(sql2);
 
            int cmp1 = 0;
            int cmp2 = 1;
            int selCmp1 = 0;
            int selCmp2 = 0;       	    
 
            while(rs.next())
             {
            	selCmp1 = select2  + cmp1 ;
            	selCmp2 = select2 + cmp2;
 
 
           	 stmt.addBatch("UPDATE tab_bas SET "
           		 + "id = "+ 'selCmp1' + "WHERE id = "+'selCmp2');
 
           	 cmp1++;
           	 cmp2++;
             }
           int[] nb = stmt.executeBatch();
           //
 
           //initComponents();
 
        }
        catch(Exception e){
            commentLabel.setText("Error occurred in inserting data");
            e.printStackTrace();
        }
 
    }
Malheureusement, le résultat n'est toujours pas probant

Merci d'avance