да. Просто не можете с този двигател.
редактиране. Бихте могли да напишете задействане, което след като изтриете запис във вашата таблица, изтрийте всички дъщерни записи във всички останали таблици.
Добре. Написах ти пример:
create table tab1 (
id int )
engine = myisam;
insert into tab1 values (1),(2),(3),(4);
create table tab2(
id int not null auto_increment primary key,
id_tab1 int
) engine = myisam;
insert into tab2 (id_tab1) values (1),(2),(2),(3),(4);
create table tab3(
id int not null auto_increment primary key,
id_tab1 int
) engine = myisam;
insert into tab3 (id_tab1) values (1),(2),(2),(3),(2);
delimiter //
create trigger deletecascade after delete on tab1
for each row
begin
delete from tab2 where id_tab1 = old.id;
delete from tab3 where id_tab1 = old.id;
end; //
delimiter ;
delete from tab1 where id = 2;
Надявам се, че помага.
редактиране. Очевидно работи, дори ако изтриете повече идентификатор от table1 едновременно:
delete from tab1 where id in (2,3,4);