Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> automatyczne usuwanie za pomocą trigger'a
Gligamesh
post
Post #1





Grupa: Zarejestrowani
Postów: 227
Pomógł: 0
Dołączył: 13.06.2003
Skąd: rykowice

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


Witam

chodzi mi o automatyczne usuwanie dzieci gdy usunę rodzica, stworzyłem sobie coś takiego:
  1. DELIMITER //
  2. CREATE TRIGGER `testowy` BEFORE DELETE ON `galleryCat`
  3. FOR EACH ROW BEGIN
  4. DELETE FROM `galleryImage` WHERE `galleryImage`.`idCat` = `galleryCat`.`id`;
  5. END
  6. //
  7. DELIMITER ;


no ale nie działa, prawdę mówiąc nie wiem jak to ugryźć (raczkuję). Jeśli ktoś ma jakiś fajny tutorial pod ręką to też nie pogardzę
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


A dlaczego nie założysz po prostu klucza obcego (galleryCat.idCat -> galleryCat.id) z opcją ON DELETE CASCADE? http://dev.mysql.com/doc/refman/5.1/en/inn...onstraints.html
Go to the top of the page
+Quote Post
Gligamesh
post
Post #3





Grupa: Zarejestrowani
Postów: 227
Pomógł: 0
Dołączył: 13.06.2003
Skąd: rykowice

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


bo to wymaga innoDB które jest wolniejsze. Nie tworze ważnych aplikacji w których priorytetem jest integralność danych.
Go to the top of the page
+Quote Post
Crozin
post
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Cytat
bo to wymaga innoDB które jest wolniejsze.
1. Tak, przy zwykłych zapytaniach SELECT jest nieco wolniejsze, ale przy bardziej rozbudowanych już niekoniecznie.
2. InnoDB to nie tylko integralność danych.
3. Z wyzwalaczami miałem raczej mało do czynienia, ale raczej powinno to być coś w stylu:
  1. WHERE OLD.id = galleryImage.idCat;
Go to the top of the page
+Quote Post
Gligamesh
post
Post #5





Grupa: Zarejestrowani
Postów: 227
Pomógł: 0
Dołączył: 13.06.2003
Skąd: rykowice

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


wiem, innoDB w niektórych operacjach jest szybsze zwłaszcza przy wielu wątkach, ale jak pisałem to nie mój przypadek.

tego brakowało, dzięki smile.gif
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 09:15