0
下面是一個簡單示瑪:如何從子表中刪除從父表中刪除的行?
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
我需要行爲,如果我remov e表中recordtypes
表中的值也從record_to_header
表中刪除。請諮詢如何這樣做。非常感謝。
創建一個刪除觸發器。請參閱http://www.sqlite.org/lang_createtrigger.html – Himanshu