这是否支持?我试图创建一个表,但编译时出现语法错误。在Android中使用外键创建SQLite数据库?
private static final String ROOM_CREATE =
"create table room (_id integer primary key autoincrement, " +
"facility integer not null, FORIEGN KEY (facility) REFERENCES facility(_id));";
这是否支持?我试图创建一个表,但编译时出现语法错误。在Android中使用外键创建SQLite数据库?
private static final String ROOM_CREATE =
"create table room (_id integer primary key autoincrement, " +
"facility integer not null, FORIEGN KEY (facility) REFERENCES facility(_id));";
一些伟大的答案,特别是@sfratini在FOREIGN关键字中发现错字。我是否也可以建议您通过使用命令行客户端(如“Windows预编译二进制文件”(请参阅http://sqlite.org/download.html))排除SQL语句的故障。这样,您可以在将它们放入应用程序之前验证CREATE TABLE和INSERT语句。
您可以创建外键,但你必须在SQL,使执法的SQLite与
PRAGMA foreign_keys = ON;
错字:
FORIEGN - >海外
facility
in facility(_id)
必须指表名称。您也正在为列定义相同的名称。请更改表名并重试。
[Android中使用SQLite的外键约束可能重复?在删除级联](http://stackoverflow.com/questions/2545558/foreign-key-constraints-in-android-using-sqlite-on-delete-cascade) – 2012-01-12 19:34:51
这是可能的。从编译语法错误可能是不同的,你可以发布你得到的错误? – kosa 2012-01-12 19:37:54
FORIEGN KEY ...语法错误 – Mirko 2013-07-30 10:44:19