我在下面从http://www.sqlite.org/foreignkeys.html SQLite的文档的说明但是我尝试添加一个外键失败。这里是我的创建陈述:SQLite的外键
CREATE TABLE
checklist (
_id INTEGER PRIMARY KEY AUTOINCREMENT,
checklist_title TEXT,
description TEXT,
created_on INTEGER,
modified_on INTEGER
);
CREATE TABLE
item (
_id INTEGER PRIMARY KEY AUTOINCREMENT,
FOREIGN KEY(checklist_id) REFERENCES checklist(_id),
item_text TEXT, item_hint TEXT,
item_order INTEGER,
created_on INTEGER,
modified_on INTEGER
);
第一张桌子被罚款。第二条语句发生错误。我已经尝试将两个查询包装在一个事务中而没有。这里是错误:
外键定义中的未知列“checklist_id”(代码1):,编译时:CREATE TABLE item(_id INTEGER PRIMARY KEY AUTOINCREMENT,FOREIGN KEY(checklist_id)REFERENCES checklist(_id),item_text TEXT ,item_hint TEXT,item_order INTEGER,created_on INTEGER,modified_on整数)
Doh!谢谢大家! :-) – 2012-07-18 15:59:04
实际上,这有一个问题...约束必须在所有字段被定义之后出现。所以外键行应该在modified_on之后。 (如果有人在2019年寻求帮助。你好,从过去!) – 2012-07-18 17:19:33
我解决了这个问题。 @GeeksOnHugs,你应该能够编辑你的问题的答案。有人必须批准编辑,但如果某人的回答出现错误,您可以在2019年为那些人编辑它:) – Scen 2012-07-18 17:26:42