Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] MultiDelete, Problem
eai
post 18.06.2007, 17:15:36
Post #1





Grupa: Zarejestrowani
Postów: 367
Pomógł: 10
Dołączył: 20.05.2005

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


Witam,
jako że SQL nie jest moją najmocniejszą stroną mam problem z Usuwaniem rekordów z wielu tabel jednym zapytaniem.

  1. DELETE FROM `history`, `thumb`, `photos`, `images`,`group`
  2. USING `history`, `thumb`, `photos`, `images`, `group`
  3. WHERE `group`.`group_id` = 1 AND `images`.`img_group` = 1 AND `history`.`photo_id` = `photos`.`photo_id` AND `history`.`thumb_id` = `thumb`.`thumb_id` AND `photos`.`img_id` = `images`.`img_id` AND `thumb`.`photo_id` = `photos`.`photo_id`;


Problem polega na tym że MySQL nie usuwa żadnych rekordów (nie pokazuje też błędu)
Ten Delete ma usuwać określone pola z tabel:
Kod
`history`, `thumb`, `photos`, `images`,`group`


Tabele wyglądają tak:
group
Kod
group_id | group_name|...

images
Kod
img_id|group_id|...

photos
Kod
photo_id|img_id|...

thumbs
Kod
thumb_id|photo_id

history
Kod
history_id|photo_id|thumb_id|...

Jeśli chodzi o tabelę history w jednej pozycji jest albo photo_id albo thumb_id nigdy jednocześnie

Cała operacja ma wyglądać tak że usuwam wszystko o group_id i kolejno wszystkie rekordy z tych tabel ktore naleza do tej grupy. Group zawiera images, images zawierają photos, photos zawierają thumbs a history zawiera kopie thumbs lub photos.
Kod
group
  |
images
  |
photos  \
  |       history
thumbs  /


Czy da się jednym zapytaniem usunąć rekordy?
Bo robienie kilku selektów i pętl strasznie obciązy serwer.
Go to the top of the page
+Quote Post

Posty w temacie


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 Wersja Lo-Fi Aktualny czas: 14.06.2025 - 20:30