在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 Browser或SQL Fiddle。
答案 0 :(得分:2)
FOREIGN KEY(event) REFERENCES Event(_id) ON DELETE CASCADE
这是一个表约束,SQL syntax as understood by sqlite要求它们在列定义之后出现:
您链接的问题涉及FK列,而不是表约束。 event
是您表格中的FK列。