私はこのトピックに不慣れです。私はこのようなものが欲しいです。
sqliteDatabase に 2 つのテーブルがあり、1 つはマスター、もう 1 つは子です。マスターからレコードを削除すると、id = 5 のマスターから行を削除すると、id = 5 の子テーブルのすべてのレコードが自動的に削除されます。トリガーの作成方法と外部キー制約の適用方法がわからないので、Firefox の sqlite3 Manager でこれを行う方法を教えてください。ありがとう
私はこのトピックに不慣れです。私はこのようなものが欲しいです。
sqliteDatabase に 2 つのテーブルがあり、1 つはマスター、もう 1 つは子です。マスターからレコードを削除すると、id = 5 のマスターから行を削除すると、id = 5 の子テーブルのすべてのレコードが自動的に削除されます。トリガーの作成方法と外部キー制約の適用方法がわからないので、Firefox の sqlite3 Manager でこれを行う方法を教えてください。ありがとう
そのためのトリガーは必要ありません。次を定義すると、外部キーがそれを行いますON DELETE CASCADE
。
CREATE TABLE child(
id INTEGER,
some_info TEXT,
master_id INTEGER,
FOREIGN KEY(master_id) REFERENCES master(id) ON DELETE CASCADE
);
外部キーに関するドキュメントを参照してください。
編集:
本当にトリガーを使用してそれを行う必要がある場合は、Foreing Key Triggersをご覧ください。