使用外键在Android中创建SQLite数据库?

时间:2012-01-12 19:31:46

标签: 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));";

4 个答案:

答案 0 :(得分:0)

您可以创建外键,但必须在SQLite中使用

启用强制执行
PRAGMA foreign_keys = ON;

答案 1 :(得分:0)

SQL中的错字:

FORIEGN - >对外

答案 2 :(得分:0)

一些很棒的答案,尤其是@sfratini,用于发现FOREIGN关键字中的拼写错误。我是否还可以建议您使用命令行客户端对SQL语句进行故障排除,例如“Windows的预编译二进制文件”(请参阅​​http://sqlite.org/download.html)。这样,您可以在将它们放入应用程序之前验证CREATE TABLE和INSERT语句。

答案 3 :(得分:-1)

facility中的facility(_id)必须引用表名。您还要为列定义相同的名称。请更改表名,然后重试。