Java插入具有自动增量字段的表

标签 java sql insert key

如何插入主键自增的表? 我想使用准备好的语句,但我不断收到此错误 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 ('?'.'?','?')

关于Java插入具有自动增量字段的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20725181/

相关文章:

java - 执行domain.save()时Grails触发查找和保存查询

java - 在mysql数据库中多次插入

MySQL 在进行 INSERT INTO 或 UPDATE 查询时保留 SELECT 语句

java - 开发 CalDav 服务器

java - 用用户信息对两个对应的数组进行排序

java - 自定义 TableHeaderUI 破坏了自定义 TableRowSorter

Java集合插入: Set vs.列表

java - 我为本地 sqlite 数据库创建了应​​用程序,但它没有运行。请告诉我解决方案

sql - 使用 T-SQL 解析 URL 参数

SQL Server 2012\VS 2010 - 自定义文件扩展名的 SQL 语法突出显示