以下は単純なスキーマです。
sqlite> .schema recordtypes
CREATE TABLE recordtypes (record_id text primary key);
sqlite> .schema headers
CREATE TABLE headers (header_id text primary key);
sqlite> .schema record_to_headers
CREATE TABLE record_to_headers (id INTEGER, recordid TEXT, headerid TEXT, FOREIGN KEY(recordid) REFERENCES recordtypes(record_id), FOREIGN KEY(headerid) REFERENCES headers(header_id));
recordtypes
次に、値を に挿入してから に挿入しrecord_to_headers
ます。
sqlite> insert into recordtypes values("test");
sqlite> insert into record_to_headers values (1, "test", "yeah");
recordtypes
次に、テーブルからも削除されることを期待してテーブルから「テスト」を削除しrecord_to_headers
ますが、これは決して起こりません:
sqlite> delete from recordtypes where record_id = "test";
sqlite> select * from recordtypes;
sqlite> select * from record_to_headers;
1|test|yeah
テーブルから値を削除すると、recordtypes
テーブルからも削除されるという動作が必要record_to_header
です。やり方のアドバイスお願いします。どうもありがとう。