Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [sql] usuwanie z tabeli
DeyV
post
Post #1





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




To chyba prosty problem, ale coś nie wiem, jak to zrobić...
Jak stworzyć zapytanie, umożliwiajace usunięcie wszyskich wpisów z tabeli, dla których nie istnieje rodzic, tj. został usuniety?
Na zasadzie zwiazku:
tabela potomków: id, id_rodzica, dane...
tabela rodziców: id, dane...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
DeyV
post
Post #2





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




W manulau znalazłem taką konstrukcję:
Cytat
DELETE t1,t2 FROM t1,t2,t3 WHERE t1.id=t2.id AND t2.id=t3.id
or
DELETE FROM t1,t2 USING t1,t2,t3 WHERE t1.id=t2.id AND t2.id=t3.id


Niestety, nie udało mi się tego uruchomić.
tabela rodziców: kategorie[id, ...]
tabela dzieci: produkty[id, kat, ...]
Zapytanie:
Cytat
DELETE FROM produkty
USING produkty, kategorie
WHERE kategorie.id = produkty.kat
and kategorie.id IS NULL
jest co prawda poprawne, ale usuwa 0 rekordów, choć zapytanie typu:
Cytat
SELECT produkty. * , kategorie. *
FROM produkty
LEFT JOIN kategorie
ON kategorie.id = produkty.kat
WHERE kategorie.id IS NULL

wyświetla wszystkie potrzebne rekordy.

Akcja dzieje się na MySQL 4.0.x
Jak to ugryść?
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: 24.12.2025 - 00:12