Seite 1 von 1

beiträge per SQL löschen

Verfasst: 07.06.2012 12:29
von jackoa
Hallo,

ich wurde die letzten Wochen mit Spam zugemüllt.

Wie kann ich schnell die Beiträge löschen (ca. 80 pro User)
Gibt es hier ein SQL Statement, wo ich per Datum löschen kann, z. B. ab 01.06.2012 alle Beiträge löschen

Oder gibt es ein SQL Statement, um alle Beiträge eines Users zu löschen?

Danke

Re: beiträge per SQL löschen

Verfasst: 07.06.2012 20:32
von Miriam
Das kannst Du sicher mit einer / mehreren SQL Queries erreichen; ich rate Dir aber dringend auf phpBB3 aufzurüsten und das Problem mit der dortigen Benutzerverwaltung zu bewerkstelligen.

Re: beiträge per SQL löschen

Verfasst: 09.06.2012 11:58
von jackoa
der Aufwand lohnt sich im Moment nicht.

Ich brauche eine kurzfristige Lösung.

Der SQL Lösungsweg würde mir helfen, kennst sich jemand aus?

Re: beiträge per SQL löschen

Verfasst: 09.06.2012 13:08
von Miriam
[quote]der Aufwand lohnt sich im Moment nicht.[/quote]
Ich sag' jetzt nichts dazu. :-?


Wenn die Benutzer, die Du löschen möchtest, keine Themen eröffnet haben, reicht das (3, 4 & 5 sind die Benutzer-IDs derjenigen, die Du löschen willst; muß also noch angepaßt werden):
  • Code: Alles auswählen

    DELETE FROM phpbb_users WHERE user_id IN ( 3, 4, 5 );
    DELETE FROM phpbb_user_group WHERE user_id IN ( 3, 4, 5 );
    DELETE FROM phpbb_posts WHERE poster_id IN ( 3, 4, 5 );
    DELETE FROM phpbb_posts_text WHERE post_id NOT IN (SELECT post_id FROM phpbb_posts);
    DELETE FROM phpbb_sessions WHERE session_user_id IN ( 3, 4, 5 );
    DELETE FROM phpbb_sessions_keys WHERE user_id IN ( 3, 4, 5 );
Die Queries kannst Du so im "Block" eingeben. (KB:pma_faq)
Wenn das nicht ausreicht, kannst Du gern dem Link in meiner Signatur folgen.

BACKUP VORHER NICHT VERGESSEN!

Re: beiträge per SQL löschen

Verfasst: 16.06.2012 19:33
von jackoa
hi miriam,

hat super funktioniert!
Vielen DAnk.

Jetzt habe ich nur noch ein Problem.
Ich habe zuvor schon paar User gelöscht, um weitere Einträge zu verhindern.

Diese User haben aber teilweise schon 40 Beiträge gepostet. Wie bekomme ich die noch raus.
Die User -ID Referenz habe ich ja durch das Löschen leider entfernt.

Kann ich Beiträge z. B. von 1842 bis 1918 einfach löschen.
Welches SQL Statement muss ich verwenden?

Dankeschön

Re: beiträge per SQL löschen

Verfasst: 16.06.2012 19:36
von jackoa
ich habe gesehen, die User sind noch als "Gast" in der DB, allerdings kann ich die ID nicht finden.

Kann ich auch eine Löschung der Beiträge per SQL machen, wenn der User z. B. "dery" heißt?

Danke

Re: beiträge per SQL löschen

Verfasst: 16.06.2012 21:10
von Miriam

Code: Alles auswählen

DELETE FROM phpbb_posts WHERE poster_id = -1 AND post_username = 'dery';
DELETE FROM phpbb_posts_text WHERE post_id NOT IN (SELECT post_id FROM phpbb_posts);
UPDATE phpbb_topics t SET t.topic_last_post_id = ( SELECT max( post_id ) FROM phpbb_posts p WHERE t.topic_id = p.topic_id );  

Re: beiträge per SQL löschen

Verfasst: 17.06.2012 16:09
von jackoa
Miriam Du bist Klasse!

Super, jetzt habe ich den ganzen Spam-Kram aus meinem Forum raus.

Hat alles super funktioniert

Danke