繁体   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