Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skomplikowane zapytanie do bazy.
Forum PHP.pl > Forum > Bazy danych > MySQL
Gruchol
Witam,
Czy jest możliwość stworzenia takiego zapytania które usunie wszystkie rekordy z tabeli items (po owner_id) jeżeli w user_data nie istnieje user_id o owner_id z items ?
Chodzi mi o to, że wyczyściłem tabelę z użytkownikami jednak do każdego użytkownika były przypisane przedmioty które znajdują się w innej tabeli i chciałbym aby te przedmioty się usunęły jeżeli gracz o danym id nie istnieje.
Jak takie zapytanie miało by wyglądać ?
kartin
Jak najbardziej istnieje taka możliwość. Możesz w WHERE użyć np. NOT IN i podzapytanie wyszukujące wszystkie user_id z tabeli user_data.

Aby nie trzeba było ręcznie usuwać takich danych w przyszłości, używaj powiązań pomiędzy tabelami i ON DELETE CASCADE.
Pyton_000
  1. DELETE items FROM items i LEFT JOIN users u ON(u.id = i.user_id) WHERE u.id IS NULL

Coś w tym stylu.

Oczywiście backup zalecany wink.gif
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.