Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z usuwaniem kaskadowym
__rafal__
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 23.08.2004

Ostrzeżenie: (0%)
-----


Witajcie!
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)
);

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
);

Cytat
create unique index id_odpowiedzi on odpowiedzi (id_odpowiedzi);
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ź!

Ten post edytował __rafal__ 8.11.2004, 16:18:54
Go to the top of the page
+Quote Post
anas
post
Post #2





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 22.09.2002
Skąd: Gorzów Wlkp

Ostrzeżenie: (0%)
-----


Hej.

Nie zdefiniowales typu tabeli na InnoDB - a to z tego co pamietam jedyny typ w MySQL, ktory obsluguje dobrze klucze obce rowniez takie rzeczy jak on delete...

domyslnie MySQL zaklada tabele jako typ MyISAM - chyba ze przy instalacji wymusiles inny typ.

pozdrowka

anas
Go to the top of the page
+Quote Post
__rafal__
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 23.08.2004

Ostrzeżenie: (0%)
-----


Wielkie dzięki!! Spróbuję teraz z InnoDB.
Pozdrówka!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.09.2025 - 22:57