Samo usuniecie tematu oraz postow z nim powiazanych nie jest problemem.
Problemem jest to jak zrobic aby optymalnym sposobem odjac kazdemu z udzielajacych sie w temacie uzytkownikow taka ilosc postow jaka w nim dodal.
Na razie jedyne co mi przyszlo do glowy to pobranie identyfikatorow uzytkownikow oraz ilosc postow jaka dodali z tabeli postow poprzez takie zapytanie:
. SELECT user_id, COUNT(post_id) AS ilosc_postow FROM posty WHERE topic_id = X GROUP BY user_id .
Wszystko wyglada ladnie pieknie, ale pozniej trzeba umiescic kolejne zapytanie w petli ktore dla kazdego wiersza z wyniku usunie ilosc postow z konta danego uzytkownika (oczywisie dla kazdego osobno).
Zapytanie w petli wydaje mi sie troche niebezpieczne zwlaszcza, ze uzytkownikow odpowiadajacych w temacie moze byc bardzo duzo.
Myslalem zeby nie wykonywac tych wszystkich petli na raz tylko ustalic limit literacji i to co zostanie do zrobienia (reszta wierszy z powyzszego zapytania) wrzucic do pliku aby dokonczylo sie przy kolejnych wywolaniach skryptu.
Moze ktos ma jakis lepszy pomysl
