Beiträge zu User zuordnen

  • Hallo zusammen,


    folgendes Problem.


    Aus welchem Grund auch immer, hat ein langjähriger User sein Account in meinem Forum verloren. Überall in seinen Beiträgen als auch Themen die er gestartet hatte, steht nun im Profil "Gast".


    Er musste sich nun neu registrieren. Wie kann ich die Beiträge/Themen mit "Gast" die dieser User erfasst hat mit seinem neuen Account zuordnen?


    Vielen Dank vorab auf eure hilfreichen Antworten. :)


    Edited once, last by Extrembomber: Anhang hinzugefügt ().

  • Wie kann ich die Beiträge/Themen mit "Gast" die dieser User erfasst hat mit seinem neuen Account zuordnen?

    SQL
    # Themen/Beiträge anzeigen lassen
    SELECT * FROM wbb1_post WHERE username = 'Benutzername alt';
    SELECT * FROM wbb1_thread WHERE username = 'Benutzername alt';
    
    
    
    
    # aktualisieren
    UPDATE wbb1_post SET username = 'Benutzername neu', userID = USERID WHERE username = 'Benutzername alt';
    UPDATE wbb1_thread SET username = 'Benutzername neu', userID = USERID WHERE username = 'Benutzername alt';

    Sicherheitshalber vorher ein Backup der Datenbank anlegen! Die Abfragen sind aus dem Stegreif, sollten aber das tun, was gewünscht ist.

  • Im Standardumfang bleiben die Benutzernamen erhalten (Beispiel hier) und lediglich die userID wird genullt. Allerdings gibt es dafür ein Plugin - zumindest habe ich mal etwas derartiges mal aufgeschnappt.
    Die alte ID brauchst du nicht zwingend. Solange bei den Beiträgen noch entweder ID (die automatisch entfernt wird beim Löschen) oder Benutzername gespeichert sind, kann man sie eindeutig zuordnen.


    Das USERID bezieht sich im Übrigen auf die ID des neu angelegten Benutzers, um mögliche Missverständnisse auszuräumen.

  • Dann stimmt etwas mit der userID des neuen Benutzers nicht.
    Bei mir musste ich nicht mal die Anzeigen aktualisieren (außer für die Beitragszahl im Profil).
    (Ich habe das zwar im WBB 4.1 getestet, aber das 4.0 sollte sich dementsprechend nicht anders verhalten.)

  • SQL
    // Themen/Beiträge anzeigen lassen
    SELECT * FROM wbb1_post WHERE username = 'Benutzername alt';
    SELECT * FROM wbb1_thread WHERE username = 'Benutzername alt';
    
    
    
    
    // aktualisieren
    UPDATE wbb1_post SET username = 'Benutzername neu', userID = USERID WHERE username = 'Benutzername alt';
    UPDATE wbb1_thread SET username = 'Benutzername neu', userID = USERID WHERE username = 'Benutzername alt';

    Sicherheitshalber vorher ein Backup der Datenbank anlegen! Die Abfragen sind aus dem Stegreif, sollten aber das tun, was gewünscht ist.

    Bei dem User ist sowohl "Benutzername neu" als auch "Benutzername alt"...die Gleiche, ist das ein Problem?


    Ihr lese was von UserID, also muss ich die UserID vom neuen Account mit in die SQL-Abfrage reinschreiben? und wenn ja an welchen Stellen?

  • Nein, das ist kein Problem. In dem Fall kannst du sogar das username = 'Benutzername neu', komplett raus nehmen.



    Ihr lese was von UserID, also muss ich die UserID vom neuen Account mit in die SQL-Abfrage reinschreiben? und wenn ja an welchen Stellen?

    Exakt. Wie gesagt einfach das (großgeschriebene) USERID durch die Zahl ersetzen, also z.B. userID = 23.

  • Hey hat super geklappt! danke für deine Unterstützung :thumbup:
    obwohl ich alles Anzeigen aktualisiert habe, tauchen die like´s nicht auf, kann das sein?

  • Das USERID bezieht sich im Übrigen auf die ID des neu angelegten Benutzers, um mögliche Missverständnisse auszuräumen.

    Damit hast Du zwar die Zuordnung Thema/Beitrag - User erschlagen, aber alle anderen User-Zuordnungen wie Likes, Aktivitäten, etc. nicht. Und damit entsteht ein ziemliches Chaos in der Datenbank, das sich praktisch nicht mehr (ohne Datenverlust/-reduzierung) beseitigen lässt.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!