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 列。
在 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 列。