簡體   English   中英

Java插入帶有自動增量字段的表

[英]Java insert into table with auto increment field

如何通過主鍵自動增量插入表中? 我想使用准備好的語句,並且不斷收到此錯誤0 <1 ...我嘗試了該語句,它有效:S

public void insertDobavitelj (String dobavitelj,String naslov, String telefon) {

    String query = "INSERT INTO dobavitelj(ime,naslov,telefon) VALUES ('"+dobavitelj+"','"+naslov+"','"+telefon+"')";

    try {

          Class.forName(driver);
          conn = DriverManager.getConnection(url, user, password);

          Statement stmt = conn.createStatement();
          stmt.executeUpdate(query);

          /*stmt = conn.prepareStatement(query);
         // stmt.setInt(1, 0);
          stmt.setString(0, dobavitelj);
          stmt.setString(1, naslov);
          stmt.setString(2, telefon);


          if (stmt.executeUpdate() == 1) {
              JOptionPane.showMessageDialog(frame, "Uspesno ste dodali novega dobavitelja");
          }
         */


    }catch (ClassNotFoundException e) {
        JOptionPane.showMessageDialog(frame,"Class not found - insert dobavitelj" );
    }catch (SQLException exception) {
        JOptionPane.showMessageDialog(frame, "SQL Exception - insert dobavitelj");
           exception.printStackTrace();
    }

我嘗試過:

"INSERT INTO dobavitelj(ime,naslov,telefon) VALUES ('?'.'?','?')"
"INSERT INTO dobavitelj(idDobavitelja,ime,naslov,telefon) VALUES (?.'?'.'?','?')"

謝謝好人:)

您正在使用stmt.setString(0, dobavitelj); 索引為零,該語句的索引從1開始。

還可以將查詢語法更改為: INSERT INTO dobavitelj(ime,naslov,telefon) VALUES ('?'.'?','?')

您可以創建一個隨機數變量,將其插入mysql的自動增量列中。 將隨機數乘以1000可獲得999個值,或者將10000限制為9999個值; int randomnumber = (int) math.random() * 1000 statement.setInt(1, randomnumber)

暫無
暫無

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

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