Mit sql-Befehl alle Thraeds eines Users ändern

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
thyphon
Mitglied
Beiträge: 114
Registriert: 11.02.2004 19:28
Wohnort: Köln
Kontaktdaten:

Mit sql-Befehl alle Thraeds eines Users ändern

Beitrag von thyphon »

Hallo zusammen,

ich habe bei mir einen User, der die Löschung seines Accounts verlangt hat, dem bin ich nachgekommen. Nun möchte er auch noch, dass alle seine Postings gelöscht werden. Ich möchte diese aber nicht nur löschen, sondern dort einen Hinweis auf meine überarbeiteten Regeln hinweisen (in denen steht das in zukunft keinen postings von ehemaligen usern gelöscht werden).

So nun meine Frage: Kann ich das über ein sql-statement machen?

Danke für hilfe!!

Gruß Tobias

PS: Ich möchte nicht über Sinn oder Unsinn dikutieren, sonst hätte ich im OT bereich gepostet.
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Nachdem du jetzt die IDs des Users rausgeschmissen hast, wird das sehr schwierig...
Steht denn der Benutzernamen in den Beiträgen noch drin?

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Benutzeravatar
thyphon
Mitglied
Beiträge: 114
Registriert: 11.02.2004 19:28
Wohnort: Köln
Kontaktdaten:

Beitrag von thyphon »

Ja, der steht noch drin.

Dazu hier auch ne Anfrage: http://www.phpbb.de/viewtopic.php?t=65952

Gruß
Tobias
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

ehm du solltest wissen welche UserID derjenige hatte ansonsten sieht es schlecht aus.....

[LÖSCHEN]
zu bearbeiten ist topic,posts,post_text jeweils als Ausschluss die UserID mit den entsprechenden Feldern.....
Hier sollte der Topic Counter an Antworten entsprechend geupdatet werden. Und der bei den Mods die kenntlich machen wer als letztes gepostet hat die lastposting ID angepasst werden.

[Zum Hinweissetzen:]
bedarf es der Änderung in der posts_text hier muss vorher natürlich die richtige posting ID gefunden werden welcher man via table posts rausfinden könnte. Und das entsprechende Update zusammengebastelt werden. So ganz ohne Pufferung findest du das nicht heraus.
Ein Insert,Update und Delete kann mit einer TableRelation ala left join und seinen Kumpanen nicht in Verbindung gebracht werden......

Du willst nicht über Unsinn und Sinn diskuttieren....nun gut es ist unsinnig schließlich kann ich ohne Eintrag in der User Table nicht mehr auf die jeweilige Person referenzieren. Da ist nur ein Nick und der ist anonym.
Benutzeravatar
thyphon
Mitglied
Beiträge: 114
Registriert: 11.02.2004 19:28
Wohnort: Köln
Kontaktdaten:

Beitrag von thyphon »

Blutgerinsel hat geschrieben:ehm du solltest wissen welche UserID derjenige hatte ansonsten sieht es schlecht aus.....
schei..., hab ich mir gedacht
Blutgerinsel hat geschrieben:[LÖSCHEN]
zu bearbeiten ist topic,posts,post_text jeweils als Ausschluss die UserID mit den entsprechenden Feldern.....
Hier sollte der Topic Counter an Antworten entsprechend geupdatet werden. Und der bei den Mods die kenntlich machen wer als letztes gepostet hat die lastposting ID angepasst werden.

[Zum Hinweissetzen:]
bedarf es der Änderung in der posts_text hier muss vorher natürlich die richtige posting ID gefunden werden welcher man via table posts rausfinden könnte. Und das entsprechende Update zusammengebastelt werden. So ganz ohne Pufferung findest du das nicht heraus.
Ein Insert,Update und Delete kann mit einer TableRelation ala left join und seinen Kumpanen nicht in Verbindung gebracht werden......
So ganz hab ich das jetzt nicht verstanden. Tatsache ist, das nach wie vor, der Username neben den Posts erscheint, darüber müsste doch eine Zuordnung möglich sein, oder?
Blutgerinsel hat geschrieben:Du willst nicht über Unsinn und Sinn diskuttieren....nun gut es ist unsinnig schließlich kann ich ohne Eintrag in der User Table nicht mehr auf die jeweilige Person referenzieren. Da ist nur ein Nick und der ist anonym.
Ich möchte nicht darüber diskutieren, ob ich das wirklich machen muss, nur weil er das verlangt.
Einer diskussion, die mich einen Schritt weiter in meiner Frage bringt, bin ich natürlich aufgeschlossen.

Gruß Tobias
Benutzeravatar
thyphon
Mitglied
Beiträge: 114
Registriert: 11.02.2004 19:28
Wohnort: Köln
Kontaktdaten:

Beitrag von thyphon »

Hab jetzt noch mal ein wenig geforscht:

In der Tabelle "phpbb_posts" steht als "post_username" ja der Name drin.

Damit hab ich jetzt schon mal die "post_id". Über die bekomme ich ja in der Tabelle "post_text" das posting raus und kann somit den "post_text" updaten.

Muss also "nur" ein kleines Script schreiben..

Irgendwelche einwände?

Gruß Tobias
Benutzeravatar
thyphon
Mitglied
Beiträge: 114
Registriert: 11.02.2004 19:28
Wohnort: Köln
Kontaktdaten:

Beitrag von thyphon »

Noch was: Da er der erste user ist, der gelöscht wurde ist der auch der einzige, der die "poster_id = -1" hat.


Gruß Tobias
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Der Weg über die user_id geht bei dir zwar auch - aber der Weg über die post_username dürfte der einfachere und bessere sein. Versuch mal folgendes:

Code: Alles auswählen

UPDATE phpbb_posts_text
  SET bbcode_uid = '',
    post_subject = '',
    post_text = 'Neuer Text für den Beitrag'
  WHERE post_id IN (SELECT post_id FROM phpbb_posts WHERE post_username = 'name des benutzers')
Dürfte aber erst mit MySQL 4 funktionieren...

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Benutzeravatar
thyphon
Mitglied
Beiträge: 114
Registriert: 11.02.2004 19:28
Wohnort: Köln
Kontaktdaten:

Beitrag von thyphon »

Danke, werds mal testen und berichten, obs funktioniert hat.

Gruß Tobias
Dennis63
Ehemaliges Teammitglied
Beiträge: 2597
Registriert: 02.07.2003 18:46

Beitrag von Dennis63 »

Um mal was "Rechtliches" zu nennen: Jeder User hat das recht GELÖSCHT zu werden, damit seine persönlichen Daten verschwinden.
KEIN User hat das Recht, zu verlagen, daß seine Beiträge gelöscht werden. Eine Internetseite ist ein öffentliches Medium. Wer etwas öffentlich Schreibt, ist auch mit der veröffentlichung einverstanden.

Wenn Du in eine Talkshow gehst, kannst Du auch nicht die Ausstrahlung verhindern, nur weil Du Dich doof angestellt hast.
Wenn Du zufällig in einer Menschengruppe Fotografiert wurdest, kannst Du nicht verhindern, daß das Foto in der Zeitung erscheint, wenn es um die Gruppe oder den Hintergrund geht.
Wenn Du beim Gewinnspiel im Radio Anrufst, kannst Du nicht verhindern, daß Dein Anruf Live/Verzögert im Radio zu hören ist.

Grüße
Dennis
Antworten

Zurück zu „Coding & Technik“