SQLite自动增量整数主键

时间:2016-05-02 06:43:44

标签: sqlite auto-increment

我知道这个问题已被无数次询问过,但由于某些原因我无法解决这个问题。我正在尝试使用以下架构在sqlite中创建一个非常基本的用户帐户表。

CREATE TABLE Account (
        User_id INTEGER PRIMARY KEY,
        Password VARCHAR(50) NOT NULL,
        First_name VARCHAR(25) NOT NULL,
        Last_name VARCHAR(25) NOT NULL,
        Usage_plan INT NOT NULL
);

根据我的阅读,它看起来像一个标记为INTEGER PRIMARY KEY的列应该自动自动增加。

见这里:https://www.sqlite.org/faq.html#q1

CREATE TABLE t1(
  a INTEGER PRIMARY KEY,
  b INTEGER
);
With this table, the statement

INSERT INTO t1 VALUES(NULL,123);
is logically equivalent to saying:

INSERT INTO t1 VALUES((SELECT max(a) FROM t1)+1,123);

有了这个说法,我希望以下声明能够奏效。

            String sql = "INSERT INTO Account VALUES (NULL, '" + password + "', '" + firstName + "', '" + lastName + "', " + "1);";
            System.out.println(sql);
            try {
                    statement.executeUpdate(sql);
            } catch (SQLException e) {
                    e.printStackTrace();
                    System.out.println("Error adding " + firstName + " to netflix users.");
            }

但事实并非如此。当我运行我的程序时,我收到一个错误,即Account.User_id失败了非null NULL constaint。我尝试了很多这方面的变化。有人能指出我正确的方向吗?

0 个答案:

没有答案