8
我有一個MySql模式,它使用class table inheritance,但我希望子表具有從父表和級聯表中級聯刪除。MySql從兩個表中級聯刪除
create table parent (
_key bigint unsigned not null,
name varchar(64) unique not null,
primary key(_key)
);
create table child_a (
_key bigint unsigned not null,
foreign_key_a bigint unsigned not null,
foreign key(_key) references parent(_key) on delete cascade,
foreign key(foreign_key_a) references a(_key) on delete cascade,
primary key(_key)
);
create table child_b (
_key bigint unsigned not null,
foreign_key_b bigint unsigned not null,
foreign key(_key) references parent(_key) on delete cascade,
foreign key(foreign_key_b) references b(_key) on delete cascade,
primary key(_key)
);
的問題是當一個記錄從國外的一個表刪除,它將刪除子表中的記錄,但不從父表。我不想使用存儲過程/多語句作爲解決方案,因爲外表已自行刪除級聯,因此我還需要存儲過程。
**刪除級聯**語句允許您在刪除父級時刪除與其外鍵相關的子級對象。也許在你的情況下,這不是你必須使用的? –