http://www.sqlite.org/foreignkeys.htmlのSQLiteドキュメントの指示に従っていますが、外部キーを追加しようとしても失敗しています。ここに私の作成ステートメントがあります:SQLite外部キー
CREATE TABLE
checklist (
_id INTEGER PRIMARY KEY AUTOINCREMENT,
checklist_title TEXT,
description TEXT,
created_on INTEGER,
modified_on INTEGER
);
CREATE TABLE
item (
_id INTEGER PRIMARY KEY AUTOINCREMENT,
FOREIGN KEY(checklist_id) REFERENCES checklist(_id),
item_text TEXT, item_hint TEXT,
item_order INTEGER,
created_on INTEGER,
modified_on INTEGER
);
最初のテーブルはうまくいきます。 2番目のステートメントでエラーが発生します。私は2つのクエリを1つのトランザクションと2つのトランザクションでラップすることを試みました。
不明なカラム "checklist_id" in foreign key definition(コード1):コンパイル中に:CREATE TABLE item(_id INTEGER PRIMARY KEY AUTOINCREMENT、FOREIGN KEY(checklist_id))REFERENCESチェックリスト(_id)、item_text TEXT 、item_hint TEXT、item_order INTEGER、created_on INTEGER、modified_ON INTEGER)
Doh!ありがとうございます! :-) –
実際にはこれに1つの問題がありました...すべてのフィールドが定義された後に制約が来る必要があります。したがって、外部キー行はmodified_onの後になければなりません。 (もし2019年に助けを求めている人がいたら、こんにちは!) –
私はこれを修正しました。 @ GeeksOnHugs、あなたはあなたの質問に答えを編集できるはずです。誰かが編集を承認する必要がありますが、将来誰かの回答に誤りがある場合は、2019年にその人のために編集することができます:) – Scen