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
Posts aller Topics eines bestimmten Forums löschen
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
- theonlyrobi
- Mitglied
- Beiträge: 80
- Registriert: 09.08.2003 14:33
- Wohnort: Jena
- Kontaktdaten:
- theonlyrobi
- Mitglied
- Beiträge: 80
- Registriert: 09.08.2003 14:33
- Wohnort: Jena
- Kontaktdaten:
Also ich bin inzwischen soweit, dass ich es schaffe, alle Posts der Tabellen "phpbb_posts" bzw "phpbb_posts_text" anzuzeigen mit folgendem Code:
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
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_idWäre für Eure Hilfe sehr dankbar, da ich dringend eine Lösung finden muss
In der "topics" Tabelle gibt´s die Felder 'topic_last_post_id' und 'topic_first_post_id' (s. DB-Beschreibung).
- theonlyrobi
- Mitglied
- Beiträge: 80
- Registriert: 09.08.2003 14:33
- Wohnort: Jena
- Kontaktdaten:
Hallo,
ich habe jetzt folgenden SQL-Befehl:
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
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_id1. 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