Seite 1 von 1

Posts aller Topics eines bestimmten Forums löschen

Verfasst: 04.10.2004 20:02
von theonlyrobi
Hallo Leute,

ich suche nach einer einfachen Möglichkeit, alle Posts aller Topics eines bestimmten Forums zu löschen. Der erste Beitrag, also das Topic soll aber stehen bleiben. Wie muss ich denn da vorgehen? Jedes Forum hat ja ne bestimmte ID, auf die sich dann die Topics beziehen, sowie auch die Posts der Topics. Kann man sich da irgendwie nen SQL-Befehl basteln, der das mit einem Mal macht? Gibt es evtl. Probleme mit der referentiellen Integrität, wenn ich die Beiträge einfach über PhpMyAdmin lösche? Danke für eure Hilfe.

Robert

Verfasst: 06.10.2004 10:23
von theonlyrobi
Also ich bin inzwischen soweit, dass ich es schaffe, alle Posts der Tabellen "phpbb_posts" bzw "phpbb_posts_text" anzuzeigen mit folgendem Code:

Code: Alles auswählen

SELECT phpbb_posts_text.post_id
FROM phpbb_posts, phpbb_posts_text
WHERE phpbb_posts.forum_id =34
AND phpbb_posts.post_id = phpbb_posts_text.post_id
Nun habe ich noch das Problem, dass ich nicht weiss wie ich den ersten Post jedes Topics stehen lassen kann. Hat da jemand eine Idee?
Wäre für Eure Hilfe sehr dankbar, da ich dringend eine Lösung finden muss

Verfasst: 06.10.2004 10:33
von Acid
In der "topics" Tabelle gibt´s die Felder 'topic_last_post_id' und 'topic_first_post_id' (s. DB-Beschreibung).

Verfasst: 06.10.2004 16:09
von theonlyrobi
Hallo,

ich habe jetzt folgenden SQL-Befehl:

Code: Alles auswählen

SELECT phpbb_posts.post_id
FROM phpbb_posts, phpbb_posts_text, phpbb_topics
WHERE phpbb_posts_text.post_id = phpbb_posts.post_id
AND phpbb_posts.forum_id =34
AND phpbb_topics.topic_first_post_id <> phpbb_posts.post_id
AND phpbb_topics.topic_id = phpbb_posts.topic_id
Der soll folgendes machen:
1. Alle Beiträge aller Topics im Forum mit der ID 34 löschen
2. Die ersten Beiträge der Topics sollen stehen bleiben

Hier meine Fragen:
a) Kann ich das einfach so ausführen?
b) Gibt es denn dann kein Problem mit der referenziellen Integrität?
c) Muss ich erst die Posts aus der Tabelle "phpbb_posts" löschen oder aus der Tabelle "phpbb_posts_text"?
d) Einige Beiträge sind mit Attachments versehen. Reicht es wenn ich ide dann manuell lösche?
e) Welche anderen Tabellen enthalten Daten zu den Posts, die dann einen SQL-Fehler ergeben könnten?

Robert