Userdatenbank und Userlöschung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Userdatenbank und Userlöschung

    Hallo Leute,

    ich habe eine Userdatenbank wo das Emailfeld als unique gekennzeichnet ist. Jetzt möchte ich den Usern die Option geben, das Konto sozusagen zu löschen. Bei der Löschung soll allerdings der Eintrag nicht wirklich gelöscht werden sondern nur die Userdaten wie Name, Anschrift, Email etc.. Die Id und Statistische Daten sollen erhalten bleiben, da die User mit anderen DB Tabellen verknüpft sind.

    Was ist jetzt der beste Weg, das unique entfernen und wieder rein per PHP die Email auf Einzigartigkeit prüfen oder das Feld mit einer zufällig generieten Zeichenfolge füllen oder den Eintrag löschen und die noch benötigten Daten in einer zweiten User-Archiv Tabelle verschieben? Vielleicht gibts noch ein Weg?
    mfg
    marc75

    <Platz für anderes>

  • #2
    Zitat von marc75 Beitrag anzeigen
    Hallo Leute,

    ich habe eine Userdatenbank wo das Emailfeld als unique gekennzeichnet ist. Jetzt möchte ich den Usern die Option geben, das Konto sozusagen zu löschen. Bei der Löschung soll allerdings der Eintrag nicht wirklich gelöscht werden sondern nur die Userdaten wie Name, Anschrift, Email etc.. Die Id und Statistische Daten sollen erhalten bleiben, da die User mit anderen DB Tabellen verknüpft sind.

    Was ist jetzt der beste Weg, das unique entfernen und wieder rein per PHP die Email auf Einzigartigkeit prüfen oder das Feld mit einer zufällig generieten Zeichenfolge füllen oder den Eintrag löschen und die noch benötigten Daten in einer zweiten User-Archiv Tabelle verschieben? Vielleicht gibts noch ein Weg?
    PHP-Code:
    <?php
    mysql_query
    ("UPDATE user_tabelle SET email_feld='',strasse='', ..... WHERE id_des_users='$id'");
    ?>
    Meinst du sowas? Andernflass wäre es auch ne Lösung die Daten in eine Archiv-Tabelle zu "verschieben", wie du schon angemerkt hast. Der Sinn der Sache hat sich mir zwar noch nicht erschlossen aber du wirst deine Gründe haben ;-)

    Kommentar


    • #3
      Der Sinn Dabei ist, die statistischen Daten zu erhalten. So kann man dann immernoch sehen, wieviel Bestellungen ein Kunde mal getätigt hatte, welche Produkte er ebenfalls mal gekauft hat und so weiter. Sicherlich könnte man den Eintrag auch komplett aus die User DB nehmen aber ich denke es ist besser die User ID zu erhalten.
      mfg
      marc75

      <Platz für anderes>

      Kommentar


      • #4
        NULL ist ein gültiger Wert in einer Unique-Spalte. Das ist die beste Lösung, wenn der Datensatz erhalten bleiben soll, die E-Mail aber verschwinden.

        Kommentar


        • #5
          Alternativ könntest du dir überlegen die "gelöschten" User in eine extra Tabelle mit gleicher Struktur zu verschieben. So könntest du über diese Tabelle weiterhin die Daten deiner ehemaligen User und die mit ihnen vernüpften Datensätze auslesen ohne den Namen/... für zukünftige User zu sperren.

          Allerdings gibt es natürlich auch bei dieser möglichkeit ein paar sachen zu beachten. Zum Beispiel was passiert wenn sich der selbe User nach seiner löschung erneut registriert und noch einmal gelöscht wird, dann hast du auch in der 2. Tabelle ein Problem mit den Uniques.
          IM: Pidgin | Browser: Chromium Firefox | HTML: SelfHTML | PHP: PHP.net SelfPHP | Linux: GnomeDo



          And remember, respect is everything!

          Kommentar


          • #6
            Zitat von Forsaken Beitrag anzeigen
            Allerdings gibt es natürlich auch bei dieser möglichkeit ein paar sachen zu beachten. Zum Beispiel was passiert wenn sich der selbe User nach seiner löschung erneut registriert und noch einmal gelöscht wird, dann hast du auch in der 2. Tabelle ein Problem mit den Uniques.
            Viel größer ist das Problem, dass der Fremdschlüssel zu der User-Tabelle so gar nicht intakt bleiben würde.

            Kommentar


            • #7
              Ich werde es mit NULL machen. Das die Userdaten wirklich gelöscht werden ist schon besser, nicht das der Kunde denkt seine Daten sind gelöscht und irgendwann tauchen die doch wieder auf. Man kann ja nie wissen, was so alles passiert.
              mfg
              marc75

              <Platz für anderes>

              Kommentar

              Lädt...
              X