SQLite 数据库中的列顺序

Column order in SQLite database

在 Android 上使用 SQLite 数据库。为什么这个 table 创建语句有效

CREATE TABLE Person 
(
    _id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
    event INTEGER,
    biography TEXT,
    FOREIGN KEY(event) REFERENCES Event(_id) ON DELETE CASCADE
);

而这个没有?

CREATE TABLE Person 
(
    _id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
    event INTEGER,
    FOREIGN KEY(event) REFERENCES Event(_id) ON DELETE CASCADE,
    biography TEXT
);

根据 this SO Q/A,有些人将外键放在常规属性之前,但我无法做到这一点。

例如,您可以在 Sqlite Browser or SQL Fiddle 尝试。

FOREIGN KEY(event) REFERENCES Event(_id) ON DELETE CASCADE

这是一个 table 约束,SQL syntax as understood by sqlite 要求它们出现在列定义之后:

您链接的问题讨论的是 FK 列,而不是 table 约束。 event 是您 table 中的 FK 列。