我已經磨以下錯誤我的牙齒:的Android SQLite的外鍵錯誤
我定義了幾桌,其中兩個必須共享一個值「TASK_ID」。我用我的代碼下面的創建語句(S):
// SQL Statement to create new Tasks table
private static final String TASKS_TABLE_CREATE = "create table " + TASKS_TABLE
+ (" (" + KEY_TASKS_TASKID + " integer primary key autoincrement, ")
+ (KEY_TASKS_TASK + " TEXT, ")
+ (KEY_TASKS_SESSION + " TEXT, ")
+ (KEY_TASKS_CONDITION + " TEXT);");
// SQL Statement to create new RAT table
private static final String RAT_TABLE_CREATE = "create table " + RAT_TABLE
+ (" (" + KEY_ID + " integer primary key autoincrement, ")
+ (KEY_RAT_TIMESTAMP + " DATETIME DEFAULT null, ")
+ (KEY_RAT_TASKID + " INTEGER NOT NULL, ")
+ ("FOREIGN KEY(" + KEY_RAT_TASKID + ") REFERENCES ")
+ (TASKS_TABLE + "(" + KEY_TASKS_TASKID + "), ")
+ (KEY_RAT_SESSION + " TEXT DEFAULT null, ")
+ (KEY_RAT_RAT_A + " TEXT DEFAULT null, ")
+ (KEY_RAT_RAT_B + " TEXT DEFAULT null, ")
+ (KEY_RAT_RAT_C + " TEXT DEFAULT null, ")
+ (KEY_RAT_ANSWER + " TEXT DEFAULT null, ")
+ (KEY_RAT_CONDITION + " TEXT DEFAULT null);");
我正在一個SQL例外它說:
06-26 20:24:49.759:E /數據庫(17404):當準備'create table rat(_id integer primary key autoincrement,timeStamp DATETIME DEFAULT null,taskId INTEGER NOT NULL,FOREIGN KEY(taskId)REFERENCES tasks(taskId),session TEXT DEFAULT')時,0x25afb0上的失敗1(接近「session」:語法錯誤) null,ratA TEXT DEFAULT null,ratB TEXT DEFAULT null,ratC TEXT DEFAULT null,answer TEXT DEFAULT null,condition TEXT DEFAULT null);'。
我已經翻閱並找不到解決我的特定問題的任何內容。對'create'語句中可以引用外鍵的位置有限制嗎? 感謝您提供有關此問題的任何幫助。
這做到了。謝謝你的幫助Alex! – foladev
@foladev,你應該[**接受答案**](http://i.stack.imgur.com/uqJeW.png)如果它解決了問題:) –
抱歉-_- noob - > – foladev