插入sqlite中的自动增量列

时间:2011-08-10 19:21:31

标签: java sqlite

我在sqlite中有一个表(在java中),它有3列,ID是自动重写的。

stat.executeUpdate("create table Info (ID INTEGER PRIMARY KEY AUTOINCREMENT, age int, point int);");

当我想在该表中插入时,我有这个功能

DataBase.databaseInsertInfoTable(data.age, data.point);

  public static void databaseInfoTable(int age,int point) throws Exception {

  PreparedStatement prepInfo = conn.prepareStatement(
     "insert into Info (age, point)values (?, ?);");
        prepInfo.setInt(2, age);
        prepInfo.setInt(3, point);
        prepInfo.addBatch();
        prepInfo.executeBatch();
        conn.setAutoCommit(true);
       prepInfo.close();
  }

我有一个错误,说错误的参数我想为ID插入空值但是它也不起作用所以我在插入中省略了ID!我该怎么办?

1 个答案:

答案 0 :(得分:2)

您无法为AUTOINCREMENT字段插入空值。删除语句末尾的分号,看看它是否适合你。

编辑:试试这个。

public static void databaseInfoTable(int age,int point) throws Exception {
  PreparedStatement prepInfo = conn.prepareStatement(
     "insert into Info (age, point)values (?, ?)");
        prepInfo.setInt(1, age);
        prepInfo.setInt(2, point);
        prepInfo.addBatch();
conn.setAutoCommit(false);
prep.executeBatch();
conn.commit();
  }