gelöschten User wiederherstellen

  • Kann ich mit diesem Befehl nen gelöschten User wiederherstellen?

    UPDATE wbb1_1_post SET userID = xx WHERE username = XX


    Wenn ja, wie geht das genau? Mag mir das jemand erklären?  :)

    • Offizieller Beitrag

    Wenn ein Benutzer gelöscht ist, dann existiert von ihm nichts mehr in der User Tabelle. Entweder spielst du ein Backup der Datenbank von vor der Löschung wieder ein oder der Benutzer registriert sich neu. Bei einer Neuregistrierung könntest du bei Bedarf die alten Beiträge dem Benutzer wieder zuordnen.

  • Genau, das habe ich vor.
    Die Userin hat sich Freitag löschen lassen und heute mit gleichem Namen neu registriert.
    Wie ordne ich jetzt ihre alten Beiträge dem neuen Account sauber zu?  :)

    • Offizieller Beitrag

    Dafür musst du folgende Abfragen in der Datenbank ausführen. Du brauchst dafür einmal die neue userID und den alten Benutzernamen. Diese Infos musst du in der Abfrage entsprechend ersetzen vor dem Ausführen.

    SQL
    UPDATE wbb1_1_post SET userID = neueID WHERE username = 'AlterBenutzername';
    UPDATE wbb1_1_thread SET userID = neueID WHERE username = 'AlterBenutzername';

    Die ' ' beim Benutzernamen müssen stehen bleiben. Danach noch im ACP unter Wartung die Benutzer aktualisieren lassen.

  • Vielen Dank dafür das habe ich auch gesucht.

    Ich habe die Themen und Beiträge nun mal aktualisiert und stelle folgendes fest:
    Der Benutzer hat laut Profil 849 Beiträge. Das ist auch korrekt.
    Nun klicke ich auf Beiträge und sehe folgendes: Suchergebnisse 1-20 von insgesamt 672.

    672 statt 849 Beiträge.
    Woran liegt das?

    Mit freundlichen Grüßen aus Dortmund,
    Marcel / InSiDeR89

    2 Mal editiert, zuletzt von InSiDeR892 (18. Dezember 2013 um 21:02)

  • Hab ich auch schon gemacht :(

    Sehe grad das das im alten Forum (WBB3) genauso ist.

    Profil:
    Beiträge
    850 (1,87 Beiträge pro Tag)

    Klicke ich auf Beiträge:
    Suchergebnisse 1-20 von insgesamt 673.

    Mit freundlichen Grüßen aus Dortmund,
    Marcel / InSiDeR89

  • Moin,

    der Grund ist, dass WBB die Beiträge im Profil und anderen Stellen nach meinem Verständnis nicht korrekt zählt: Wird ein Beitrag gelöscht, aber eben nicht endgültig, dann wird er weiterhin für den Benutzer gezählt. Allerdings wird der Beitrag nicht mehr angezeigt, weswegen weniger im Suchergebnis stehen. Da das Punktesystem und die Like-Zählerei davon direkt betroffen sind, stimmen die Zahlen in solchen Fällen dann auch nicht mehr.
    Noch problematischer kann es werden, wenn ein Forum nach einiger Zeit ohne diese Einstellung auf 'Beiträge nicht zählen' gestellt wird.

    Gruß, Udo

  • Hallo,
    auch das kann ich ausschließen. Beiträge werden bei uns entweder entgültig gelöscht oder nur in ein anderes Forum (ich hab es Papierkorb genannt) verschoben. Dieses Forum ist allerdings nicht für alle zugänglich, sprich keine Leserechte. Könnte es damit zusammenhängen das dann die Beiträge dort im Forum liegen wo nur ich Zugriff drauf habe und deshalb die Anzahl nicht stimmt?

    Aber ich selber sehe ja auch nicht alle Beiträge... das könnte man also damit wieder revidieren denn ich selber sehe auch nicht alle Beiträge obwohl ich ja vollen Zugriff darauf habe...

    Es muss also irgendwo anders das Problem sein :(

    Mit freundlichen Grüßen aus Dortmund,
    Marcel / InSiDeR89

  • Die Anzahl der Beiträge, die du nicht siehst wird kaum exakt mit der Anzahl der verschobenen übereinstimmen. Daher ist die Erklärung doch plausibel.

    Lieber mehr sein als scheinen, als mehr scheinen als sein. :)

  • Du schriebst, dass es Beiträge gibt, die du nicht sehen kannst. Wenn das nun doch nicht so ist, ist das natürlich hinfällig.

    Lieber mehr sein als scheinen, als mehr scheinen als sein. :)

  • Ah ich seh grad ich hab mich vertippt.

    Ich hatte während des Tippens festgestellt das ich die ja sehen kann und das Problem zumindest bei mir nicht auftreten kann.
    Problem besteht also noch immer und ich habe definitiv auf ALLES einsicht.

    Mit freundlichen Grüßen aus Dortmund,
    Marcel / InSiDeR89

  • Hab dazu auch ne Frage:

    Ich hatte auch zwei User versehentlich gelöscht, mit der obigen SQL Abfrage hat das wiederherstellen super geklappt, nun ist es so, dass die gelöschten User anfangs die User ID drei und vier hatten, jetzt haben sie durch die SQL Abfrage natürlich sehr hohe User IDs (9xx).

    Kann man, indem man diese Abfrage nochmals ausführt, die beiden auf die alten Original IDs zurücksetzen oder bleiben die alten Ids vergeben?

    »Alle Tage sind zwar gleich lang, aber unterschiedlich breit.«
    ( Wolfgang Neuss )

  • UPDATE wbb1_post SET userID = 0 WHERE username = 'deraltebenutzername';
    UPDATE wbb1_thread SET userID = 0 WHERE username = 'deraltebenutzername';

    Damit kannst du die Beiträge und Themen der neuen ID zuordnen. Ist doch egal welche ID sie vorher hatten oder nicht?

    Mit freundlichen Grüßen aus Dortmund,
    Marcel / InSiDeR89

  • Das wiederherstellen per SQL Abfrage habe ich längst gemacht, möchte aber, dass Sie die ALTE User ID wieder haben, will nur wissen, ob ich diese Abfrage ein zweites mal ausführen kann oder ob die ALTE UserID womöglich auf ewig geblockt ist.

    »Alle Tage sind zwar gleich lang, aber unterschiedlich breit.«
    ( Wolfgang Neuss )

  • Die alte UserID existiert noch, und zwar in allen Tabellen außer der wcfX_user. Dort - und nur dort - wurde der Eintrag und damit die UserID des gelöschen Users auch gelöscht. Alle anderen Tabellen wurden dabei nicht verändert.

    In der besagten Tabelle ist das Feld userID aber der primary Index der Tabelle mit "auto-increment". Jeder neue Eintrag MUSS eine höhere ID (= userID) haben wie die letzte = höchste ID, sonst klappt die Indizierung der Tabelle nicht mehr. Nachträglich den Datensatz des neuen-alten Users auf die alte, niedrigere ID zu drehen, ist also alles andere als ratsam. Belasse es bei dem Schönheitsfehler und der User hat ab jetzt eine neue userID.

    Zitat

    UPDATE wbb1_post SET userID = 0 WHERE username = 'deraltebenutzername';
    UPDATE wbb1_thread SET userID = 0 WHERE username = 'deraltebenutzername';


    ...liefert genau null Treffer, weil es keinen User mit userID = 0 gibt. Wie ich oben sagte, sind gelöschte User aus der User-Tabelle verschwunden, in allen anderen Tabellen unverändert mit ihrer alten ID verblieben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!