SQLite数据库中的列顺序

时间:2017-10-27 13:03:53

标签: android sqlite foreign-keys android-sqlite create-table

在Android上使用SQLite数据库。为什么这个表创建语句可以工作

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 BrowserSQL Fiddle

1 个答案:

答案 0 :(得分:2)

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

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

您链接的问题涉及FK列,而不是表约束。 event是您表格中的FK列。