2012-01-12 54 views
1

這是否支持?我試圖創建一個表,但編譯時出現語法錯誤。在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));"; 
+0

[Android中使用SQLite的外鍵約束可能重複?在刪除級聯](http://stackoverflow.com/questions/2545558/foreign-key-constraints-in-android-using-sqlite-on-delete-cascade) – 2012-01-12 19:34:51

+0

這是可能的。從編譯語法錯誤可能是不同的,你可以發佈你得到的錯誤? – kosa 2012-01-12 19:37:54

+0

FORIEGN KEY ...語法錯誤 – Mirko 2013-07-30 10:44:19

回答

0

一些偉大的答案,特別是@sfratini在FOREIGN關鍵字中發現錯字。我是否也可以建議您通過使用命令行客戶端(如「Windows預編譯二進制文件」(請參閱​​http://sqlite.org/download.html))排除SQL語句的故障。這樣,您可以在將它們放入應用程序之前驗證CREATE TABLE和INSERT語句。

0

您可以創建外鍵,但你必須在SQL,使執法的SQLite與

PRAGMA foreign_keys = ON; 
-1

facility in facility(_id)必須指表名稱。您也正在爲列定義相同的名稱。請更改表名並重試。