Myślę, że można to zrobić też w inny sposób:
- odtworzyć z kopii bazę w innym miejscu, np. na swoim kompie,
- zbudować i wykonać na odtworzonej BD odpowiednie polecenia SQL, które w wyniku dają polecenia INSERT, np.:
Kod:
select concat('insert into prefix_forums values (',forum_id,',',cat_id,',',forum_name,','..........',',');') from prefix_forums where cat_id=id_usuniętej_kategorii
- utworzone w ten sposób polecenia INSERT, wykonać na bazie rzeczywistej, oczywiście przetestowałby to na" boku"
- "schodząc" niżej do tematów, trzeba zagnieździć w klauzuli WHERE zapytanie SELECT, tak w tym stylu:
Kod:
SELECT CONCAT(.......) FROM prefix_topics
WHERE prefix_topics.forum_id IN (SELECT forum_id FROM prefix_forums WHERE prefix_forums.cat_id=id_usuniętej_kategorii)
- itd.
Życzę dobrej zabawy z SQL.
Przykładowy wynik - idea
Cytuj:
Rezultat SQL
Host: localhost
Baza danych: kbforum
Czas wygenerowania: 31 Maj 2006, 13:52
Wygenerowany przez: phpMyAdmin 2.6.4-pl3 / MySQL 5.0.15
zapytanie SQL: select concat( 'insert into phpbb_forums values (' , forum_id , ',' , cat_id , ',' , forum_name , ');' ) from phpbb_forums where cat_id = 2 LIMIT 0, 30 ;
Rekordów: 6
concat( 'insert into phpbb_forums values (' , forum_id , ',' , cat_id , ',' , forum_name , ');' )
insert into phpbb_forums values (1,2,Uwagi, sugestie, propozycje);
insert into phpbb_forums values (8,2,Regulamin);
insert into phpbb_forums values (10,2,Ankiety);
insert into phpbb_forums values (14,2,Tablica ogłoszeniowa - Help Desk);
insert into phpbb_forums values (15,2,Forum MOD);
insert into phpbb_forums values (19,2,Tablica ogłoszeniowa IEI);
trzeba pamiętać żeby typy tekstowe ująć w "uszy" , co jak widać powyżej nie zostało zrobione
pozdrawiam
Kocioł