Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> DELETE z dwóch tabel, MYISAM
bliitz
post
Post #1





Grupa: Zarejestrowani
Postów: 155
Pomógł: 12
Dołączył: 5.04.2008

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


Witam

są dwie tabele o przykładowej strukturze:

artykuly
--------
id ( primary key )
id_autora
tekst

komentarze
-----------
id ( primary key )
id_artykulu
komentarz

Jak usuwając pozycję z tabeli artykuły automatycznie usunąć komentarze do tego artykułu. Wiem, że najprościej ustawić bazy jako InnoDB, ale mnie interesuje jak to zrobić w MyISAM.

mam takie zapytanie:
Kod
     'DELETE `artykuly`.*,
                `komentarze`.*
        FROM `artykuly`,
                `komentarze`
       WHERE artykuly.id = :id
         AND artykuly.id = komentarze.id_artykulu
          OR artykuly.id = :id'


jednak powoduje to usunięcie wszystkich danych z tabeli komentarze (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)

Ten post edytował bliitz 9.02.2009, 23:07:27
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bliitz
post
Post #2





Grupa: Zarejestrowani
Postów: 155
Pomógł: 12
Dołączył: 5.04.2008

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


Cytat(artega @ 10.02.2009, 10:55:33 ) *
Użyj złączenia:
  1. DELETE artykuly.*, komentarze.* FROM artykuly LEFT JOIN komentarze ON (komentarze.id_artykulu = artykuly.id) WHERE artykuly.id = 1


niestety nie działa, tzn. usuwa artykuł i komentarze prawidłowo, jednak w sytuacji gdy do artykułu nie ma żadnego komentarze to artykuł nie jest usuwany
Go to the top of the page
+Quote Post

Posty w temacie


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: 6.10.2025 - 20:00