Stworzyłem w mysql'u dwie tabele
Cytat
create table pytania
(
id_pytania int unsigned not null auto_increment,
pytanie text not null,
primary key (id_pytania)
);
(
id_pytania int unsigned not null auto_increment,
pytanie text not null,
primary key (id_pytania)
);
Cytat
create unique index id_pytania on pytania (id_pytania);
Cytat
create table odpowiedzi
(
id_odpowiedzi int unsigned not null auto_increment,
nr_pytania int unsigned not null,
odpowiedz text not null,
primary key (id_odpowiedzi),
foreign key (nr_pytania) references pytania (id_pytania)
on update cascade on delete cascade
);
(
id_odpowiedzi int unsigned not null auto_increment,
nr_pytania int unsigned not null,
odpowiedz text not null,
primary key (id_odpowiedzi),
foreign key (nr_pytania) references pytania (id_pytania)
on update cascade on delete cascade
);
Cytat
create unique index id_odpowiedzi on odpowiedzi (id_odpowiedzi);
create index nr_pytania on odpowiedzi (nr_pytania);
create index nr_pytania on odpowiedzi (nr_pytania);
Dlaczego polecenie:
Cytat
delete from pytania where id_pytania=jakaś_liczba
nie usunie również wiersz o polu nr_pytania=jakaś_liczba a jedynie wiersz z tabeli pytania (skoro ustawione jest on delete cascade)?
Z góry dzięki za podpowiedź!