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