SQL-Befehl - Username in Datenbank ändern?

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
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.
uwe.ha
Mitglied
Beiträge: 838
Registriert: 18.05.2001 02:00

SQL-Befehl - Username in Datenbank ändern?

Beitrag von uwe.ha »

Hallo zusammen,

hin und wieder kommt es vor, dass ein User gelöscht wird.
Danach steht aber bei seinen Posts immer noch sein Username (aber als Gast).
Wie kann ich diesen Namen ändern?
Gibt es einen SQL-Befehl, der alle Post mit Usernname xyz sucht, und den Username "xyz" gegen "Gast" ersetzt?
Oder wie macht man das?

Danke!
Uwe
Benutzeravatar
Maidenaustria
Mitglied
Beiträge: 187
Registriert: 01.04.2005 19:06
Wohnort: Wien
Kontaktdaten:

Beitrag von Maidenaustria »

Zuerst die Posts löschen - dann den User - da bleibt nix über....

Allenfalls empfehle ich den DB Maintaince MOD - da kann man meines Wissens auch Posts ohne User löschen...
http://www.maidenaustria.at
Die österreichische Iron Maiden Fan - Community
uwe.ha
Mitglied
Beiträge: 838
Registriert: 18.05.2001 02:00

Beitrag von uwe.ha »

Hi,

ich wollte nicht die ganzen Beiträge löschen, weil die ja zum Thema dazu gehören.
Ich möchte NUR, dass neben den Beiträgen nicht mehr der (ehemalige) Username steht, sondern diesen durch einen allgemeinen Namen ersetzen.

Also in der Datenbanktabelle 'phpbb_posts' im Feld 'post_username' nach Beiträgen von 'otto' suchen und 'otto' durch 'Gast-o' ersetzen.

Danke
Uwe
Benutzeravatar
gloriosa
Mitglied
Beiträge: 13770
Registriert: 04.01.2005 20:23
Wohnort: Landeshauptstadt Erfurt

Beitrag von gloriosa »

Hallo,
ersetze doch einfach via ACP den bisherigen Nutzernamen durch z.B. Gast-001 usw. und sperre den Account ! :oops:
Viele Grüße - gloriosa :D
Die einen schützen sich vor frischem Wind, während die anderen ihn nutzen.
Kein kostenloser MOD-Einbau usw. bzw. Support via PN, Email oder IRC !
Benutzeravatar
tas2580
Ehemaliges Teammitglied
Beiträge: 3029
Registriert: 01.07.2004 05:42
Wohnort: /home/tas2580
Kontaktdaten:

Beitrag von tas2580 »

So wie ich das sehe wird der Username in der Tabelle phpbb2_posts unter post_username gespeichert. Der SQL-Befehl währe dann also

Code: Alles auswählen

UPDATE phpbb2_posts SET post_username = 'gast' WHERE post_username != ''
Heute ist ein guter Tag um dein Forum zu testen.
Ehemaliger Benutzername: [BTK] Tobi
uwe.ha
Mitglied
Beiträge: 838
Registriert: 18.05.2001 02:00

Beitrag von uwe.ha »

Hallo Tobi,
[BTK] Tobi hat geschrieben:So wie ich das sehe wird der Username in der Tabelle phpbb2_posts unter post_username gespeichert. Der SQL-Befehl währe dann also

Code: Alles auswählen

UPDATE phpbb2_posts SET post_username = 'gast' WHERE post_username != ''
Ja, das sieht so nach dem aus, was ich suche ;-)
D.h. für mich konkret müsste es lauten:

Code: Alles auswählen

UPDATE phpbb_posts SET post_username = 'neuername' WHERE post_username = 'altername'
Richtig?

Ähäm ... würde dein SQL-Befehl nicht JEDEN Eintrag (wo post_username UNGLEICH 'leer' ist, also GLEICH 'irgendeinInhalt') mit 'gast' überschreiben? != bedeutet doch ungleich, oder?

;-)
Uwe
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag von cYbercOsmOnauT »

Wenn es nur als Gastbeitrag erscheinen soll, mach es so:

Code: Alles auswählen

UPDATE phpbb_posts SET post_username = '' WHERE post_username = 'altername'
Dann wird der alte Nickname entfernt.
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
uwe.ha
Mitglied
Beiträge: 838
Registriert: 18.05.2001 02:00

Beitrag von uwe.ha »

Hi,

erstmal vielen Dank für eure Hilfen!

Nur nochmal zum Verständnis:
Ich hatte den User bereits gelöscht.
Nun steht neben seinen alten Beiträgen: "altername", und darunter die Bezeichnung "Gast".
Nun möchte ich "altername" gegen "neuername" austauschen, um zumindest für mich noch zu wissen, welcher Beitrag von "altername" stammt.
das sollte mit

Code: Alles auswählen

UPDATE phpbb_posts SET post_username = 'neuername' WHERE post_username = 'altername'
machbar sein, richtig?

Danke!
Uwe
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag von cYbercOsmOnauT »

Korrekt :)
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
uwe.ha
Mitglied
Beiträge: 838
Registriert: 18.05.2001 02:00

Beitrag von uwe.ha »

Vielen Dank erstmal!

Letzte Frage:
Muss ich die Werte in Anführungszeichen setzten oder nicht, also:

Variante 1:

Code: Alles auswählen

UPDATE phpbb_posts SET post_username = 'neuername' WHERE post_username = 'altername'
oder Variante 2:

Code: Alles auswählen

UPDATE phpbb_posts SET post_username = neuername WHERE post_username = altername
Danke!
Uwe
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“