title: How to auto Increment a primarykey in JDBC sql
body: <p>can you please guys help me, i'm having trouble on making my primary key into auto-increment, My table name is books and the column that i want to be auto-increment is serial_no which is a primary key.</p>
  
  <pre><code>public class donate extends javax.swing.JFrame {
      Connection con;
      Statement stmt;
      ResultSet rs;
      PreparedStatement pst;
      DefaultTableModel loginModel = new DefaultTableModel();
      int curRow = 0;
  
  /**
   * Creates new form donate
   */
  public donate() {
      initComponents();
      DoConnect();        
      showAll();
  }
  void showAll(){
     try{
     rs = stmt.executeQuery("SELECT * FROM books");
     while(rs.next())
     {
         String book = rs.getString("book_title");
         String categorie = rs.getString("category");
         String status = rs.getString("book_status");
         String donators = rs.getString("donator");
         int serial_nos = rs.getInt("serial_no");
         loginModel.addRow(new Object[]{book, categorie, status, donators, serial_nos});
     }
     }catch(SQLException err){
          System.out.println(err);
     }
  }
  void DoConnect( ) {
                 try{
                  //CONNECT TO THE DATABASE
                  String host = "jdbc:derby://localhost:1527/Dafuq7";
                  String uName ="Dafuq7";
                  String uPass ="Dafuq7";
                  con = DriverManager.getConnection(host, uName, uPass);
  
                  //EXECUTE SOME SQL AND LOAD THE RECORDS INTO THE RESULTSET
                          stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, 
                      ResultSet.CONCUR_UPDATABLE);
                  String sql = "SELECT * FROM books";
                  rs = stmt.executeQuery(sql);
          }   
      catch(SQLException err){
                  JOptionPane.showMessageDialog(donate.this, err.getMessage());
      }
  }
  </code></pre>
  
  <p>and here is for may button, which when i input all the data will be submitted to my table books</p>
  
  <pre><code>private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
      String bookttl = bookt.getText();
      String yourn = yn.getText();
      String categ = cat.getSelectedItem().toString();
      String bstat = bs.getSelectedItem().toString();
  
      try {
          rs.moveToInsertRow();
          rs.updateString( "book_title", bookttl );
          rs.updateString( "category", yourn );
          rs.updateString( "book_status", categ );
          rs.updateString( "donator", bstat );
  
  
  
  
          loginModel.addRow(new Object[]{bookttl, yourn, categ, bstat});
  
          rs.insertRow( );
          stmt.close();
          rs.close();
  
          stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
          String sql = "SELECT * FROM books";
          rs = stmt.executeQuery(sql);
  
      }
      catch (SQLException err) {
          System.out.println(err.getMessage() );
      }// TODO add your handling code here:
  }
  </code></pre>
  
  <p>BTW i found another way around by doing this, grabbing my table and reconstructing it and put this code in the create table script </p>
  
  <p>SERIAL_NO INTEGER default AUTOINCREMENT: start 1 increment 1 not null primary key</p>