Gelöschte USER reaktivieren?
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Hab es im Testforum schon mal ausprobiert und hat geklappt.
Super - vielen Dank.
Aber die alte User ID brauchte ich doch nirgends..
Das einzige "Problem" was ich hab ist
(Hab zur Erklärung hier die ID und Name geändert auf das was reinsollte, mit dem Nick bzw. der ID kannst ja so nix anfangen. Im Befehl hatte ich das schon geändert.
Super - vielen Dank.
Aber die alte User ID brauchte ich doch nirgends..
Das einzige "Problem" was ich hab ist
Code: Alles auswählen
PDATE phpbb_topics SET topic_poster = 'neue ID' WHERE topic_first_poster_name = 'alter name';# MySQL lieferte ein leeres Resultat zurück (d. h. null Zeilen).
-
- Mitglied
- Beiträge: 26
- Registriert: 18.02.2008 13:37
- Wohnort: Frickenhausen
Hallo Gemeinde,
ich hätte dazu mal eine Frage:
Der alte Username wer Knuffel - die alte poster_id ist ja als Gast nun 1 - die Namen stehen auch noch bei den alten Beiträgen.
Ich hab das Script jetzt wie folgt angepasst:
UPDATE XXX_posts SET poster_id = '230' WHERE post_username ='Knuffel';
UPDATE XXX_posts SET post_username = 'Knuffel' WHERE post_username ='Knuffel';
UPDATE XXX_topics SET topic_poster = '230' WHERE topic_first_poster_name = 'Knuffel';
UPDATE XXX_users SET user_posts = (SELECT COUNT(post_id) FROM XXX_posts WHERE poster_id = '230') WHERE user_id = '230';
Die poster_id ist ja identisch mit der user_id.
Dennoch klappt es nicht - folgende Meldung ist das Ergebnis:
SQL-Befehl: Dokumentation
UPDATE XXX_users SET user_posts = ( SELECT COUNT( post_id )
FROM XXX_posts
WHERE poster_id = '1' )
WHERE user_id = '1'
XXX ist natürlich gegen den echten Präfix getauscht.
wobei COUNT in der Fehlermeldung rot markiert, sprich gehighligtet ist.
Wo mach ich da noch was falsch?
Danke für Eure Hilfe
Lieben Gruss
Bela
ich hätte dazu mal eine Frage:
Der alte Username wer Knuffel - die alte poster_id ist ja als Gast nun 1 - die Namen stehen auch noch bei den alten Beiträgen.
Ich hab das Script jetzt wie folgt angepasst:
UPDATE XXX_posts SET poster_id = '230' WHERE post_username ='Knuffel';
UPDATE XXX_posts SET post_username = 'Knuffel' WHERE post_username ='Knuffel';
UPDATE XXX_topics SET topic_poster = '230' WHERE topic_first_poster_name = 'Knuffel';
UPDATE XXX_users SET user_posts = (SELECT COUNT(post_id) FROM XXX_posts WHERE poster_id = '230') WHERE user_id = '230';
Die poster_id ist ja identisch mit der user_id.
Dennoch klappt es nicht - folgende Meldung ist das Ergebnis:
SQL-Befehl: Dokumentation
UPDATE XXX_users SET user_posts = ( SELECT COUNT( post_id )
FROM XXX_posts
WHERE poster_id = '1' )
WHERE user_id = '1'
XXX ist natürlich gegen den echten Präfix getauscht.
wobei COUNT in der Fehlermeldung rot markiert, sprich gehighligtet ist.
Wo mach ich da noch was falsch?
Danke für Eure Hilfe
Lieben Gruss
Bela
Dann musst Du halt zwei Abfragen machen:Miriam hat geschrieben:...
Es kann sein, dass die Lösung mit dem verschachtelten SELECT in Deiner DB Version nicht funktioniert.
Erst:
Code: Alles auswählen
SELECT COUNT(post_id) FROM XXX_posts WHERE poster_id = '230'
Code: Alles auswählen
UPDATE XXX_users SET user_posts = 'Ergebnis' WHERE user_id = '230';
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Ich schmeiß' alles hin und...
... lasse es liegen
Re: Gelöschte USER reaktivieren?
Ich hab' den Code jetzt verwendet, weil ich versehentlich einen User gelöscht habe.
Allerdings hab' ich vorher den User Guest einfach in den alten Usernamen umbenannt, was natürlich nicht funkioniert hat.
Ich hab' dann gedacht, dass der Code mit 'alter_name' auch nicht funkioniert hat, also hab' ich statt den alten Namen einfach 'Guest' geschrieben
Jetzt hat aber Guest alle bisherigen Posts vom alten User zugeteilt, die neuen werden dem neuen User mit dem alten Usernamen zugeteilt. Kann ich das irgendwie ändern? Und kann ich dem neuen User die alte UserID geben?
Allerdings hab' ich vorher den User Guest einfach in den alten Usernamen umbenannt, was natürlich nicht funkioniert hat.
Ich hab' dann gedacht, dass der Code mit 'alter_name' auch nicht funkioniert hat, also hab' ich statt den alten Namen einfach 'Guest' geschrieben
Code: Alles auswählen
UPDATE phpbb_posts SET poster_id = 'neue_ID' WHERE post_username ='alter_name';
UPDATE phpbb_posts SET post_username = '' WHERE post_username ='alter_name';
UPDATE phpbb_topics SET topic_poster = 'neue_id' WHERE topic_first_poster_name = 'alter_name';
UPDATE phpbb_users SET user_posts = (SELECT COUNT(post_id) FROM phpbb_posts WHERE poster_id = 'neue_id') WHERE user_id = 'neue_id';