Seite 1 von 2
SQL-Befehl - Username in Datenbank ändern?
Verfasst: 22.10.2007 09:35
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
Verfasst: 22.10.2007 16:20
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...
Verfasst: 22.10.2007 16:39
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
Verfasst: 22.10.2007 17:00
von gloriosa
Hallo,
ersetze doch einfach via ACP den bisherigen Nutzernamen durch z.B. Gast-001 usw. und sperre den Account !

Verfasst: 22.10.2007 17:23
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 != ''
Verfasst: 22.10.2007 19:23
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
Verfasst: 22.10.2007 21:05
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.
Verfasst: 23.10.2007 00:06
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
Verfasst: 23.10.2007 18:54
von cYbercOsmOnauT
Korrekt

Verfasst: 25.10.2007 11:07
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