私はAndroidのSQLiteデータベース内で外部キーを処理しようとしています。私は次の構文を試してみましたが、それは私に力を与えてくれます。SQlite - Android - 外部キー構文
private static final String TASK_TABLE_CREATE = "create table "
+ TASK_TABLE + " (" + TASK_ID
+ " integer primary key autoincrement, " + TASK_TITLE
+ " text not null, " + TASK_NOTES + " text not null, "
+ TASK_DATE_TIME + " text not null, FOREIGN KEY ("+TASK_CAT+") REFERENCES "+CAT_TABLE+" ("+CAT_ID+"));";
私は間違っていると思いますか?他のテーブル構造を見る必要がある場合は、IDと名前を持つ2番目のテーブルの構造だけです。
編集:
ここではエラーです:
03-13 13:42:35.389: ERROR/AndroidRuntime(312): Caused by: android.database.sqlite.SQLiteException: unknown column "taskCat" in foreign key definition: create table reminders (_id integer primary key autoincrement, task_title text not null, notes text not null, reminder_date_time text not null, FOREIGN KEY (taskCat) REFERENCES category (_id));
この解決策は私にとっては役に立たなかった。私が見つけた解決策は、すべてを1行で定義することでしたが、構文が少し異なりました。私は最後の2行の代わりにこれを行なった: TASK_CAT + "INTEGER REFERENCES" + CAT_TABLE + ");"; – HotN
@HotN、あなたは正しい友達です。あなたの解決策も私のために働いた。ありがとう – blueware
@jetho私は親キーがすべての子供の列レコードを削除した後も削除する必要がありますfunctionallityを追加したい。 – UnKnown