支持吗?我正在尝试创建一个表,但在编译时遇到语法错误。
private static final String ROOM_CREATE =
"create table room (_id integer primary key autoincrement, " +
"facility integer not null, FORIEGN KEY (facility) REFERENCES facility(_id));";
答案 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)
必须引用表名。您还要为列定义相同的名称。请更改表名,然后重试。