Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] DELETE z dwóch tabel
Forum PHP.pl > Forum > Bazy danych
bliitz
Witam

problem jest następujący: są 2 tabele `galeria` i `photo`, czy można za pomocą jednego zapytania usunąć dane z obu tabel przy dwóch możliwych wariantach:
w tabeli `galeria` znajduje się wpis o danym id natomiast w tabeli `photo` nie występuje.

Struktura tabel:

galeria photo
-------- ---------
id id
nazwa galeria_id
data_utworzenia nazwa_zdj

próbowałem:
  1. DELETE `galeria`, `photo` FROM `galeria` INNER JOIN `photo` ON galeria.id=photo.galeria_id
  2. WHERE galeria.id='55'

Jednak w momencie gdy nie dodano jeszcze zdjęcia do galerii i w tabeli `photo` nie ma wpisu o id odpowiadającym id w `galeria`, zapytanie nie usuwa rekordu z tabeli `galeria`.
Ktoś podpowie jak to można rozwiązać?
melkorm
Jeżeli chcesz usunąć galerie i ewentulanie zdjęcia (jeżeli są) to użyj LEFT JOIN'a.

Bo przy INNER gdy nie ma zdjęć zwrócony zostanie Tobie pusty wynik, a przy LEFT w polach zdjęć będą NULL'e.
bliitz
dokładnie, właśnie miałem napisać, że już rozwiązałem sobie problem ale że mnie uprzedziłeś... winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.