0

私はこのトピックに不慣れです。私はこのようなものが欲しいです。

sqliteDatabase に 2 つのテーブルがあり、1 つはマスター、もう 1 つは子です。マスターからレコードを削除すると、id = 5 のマスターから行を削除すると、id = 5 の子テーブルのすべてのレコードが自動的に削除されます。トリガーの作成方法と外部キー制約の適用方法がわからないので、Firefox の sqlite3 Manager でこれを行う方法を教えてください。ありがとう

4

2 に答える 2

3

そのためのトリガーは必要ありません。次を定義すると、外部キーがそれを行います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をご覧ください。

于 2010-02-19T14:32:57.520 に答える
0

このページが役に立ちます: http://justatheory.com/computers/databases/sqlite/foreign_key_triggers.html

これは、SQLite の一般的なトリガー リファレンスです。

于 2010-02-19T14:32:55.407 に答える