靠近'自动增量'的错误

时间:2010-10-28 12:22:30

标签: sqlite

我在AUTOINCREMENT附近收到语法错误。这个错误的原因是什么?

CREATE TABLE person (
    id INTEGER NOT NULL AUTOINCREMENT,
    name TEXT NOT NULL
);

CREATE TABLE department (
    id INTEGER NOT NULL AUTOINCREMENT,
    name TEXT NOT NULL,
    FOREIGN KEY (leader) REFERENCES person(id)
);

3 个答案:

答案 0 :(得分:35)

According to SQLite FAQ您必须声明INTEGER PRIMARY KEYINTEGER PRIMARY KEY AUTOINCREMENT列才能实现这一目标。

答案 1 :(得分:4)

在SQLite中,如果要将列指定为主键,则无需指定AUTOINCREMENT ...

答案 2 :(得分:1)

SQLite AUTOINCREMENT:您应该避免使用它

只要在不指定WITHOUT ROWID选项的情况下创建表,就会得到一个称为rowid的隐式自动增量列。

rowid列存储64位带符号整数,用于唯一标识表中的行。

相关问题