schildi: mysql: gelöschte datensätze abfragen

mysql+php:

kann ich irgendwie nach einem löschvorgang (per DELETE) alle gelöschten datensätze herausbekommen?

danke für jede hilfe!

  1. Hello,

    kann ich irgendwie nach einem löschvorgang (per DELETE) alle gelöschten datensätze herausbekommen?

    Klar: Wenn Du Dir vorher alle zu löschenden Datensätze merkst und dann hinterher fragst, ob sie noch da sind, dann ist die Differenzmenge die der gelöschten ;-)

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. Klar: Wenn Du Dir vorher alle zu löschenden Datensätze merkst und dann hinterher fragst, ob sie noch da sind, dann ist die Differenzmenge die der gelöschten ;-)

      dachte eigentlich dass es auch einfacher geht per befehl.
      na gut. dann eben so..

      danke

      1. Hello,

        dachte eigentlich dass es auch einfacher geht per befehl.
        na gut. dann eben so..

        dann müsstest Du die Löschungen einzeln durchführen.
        Ich würde sowieso nicht wirklich löschen, sondern nur als gelöscht markieren. Das kann man dann auch mittels einer Userkennung tun. Bei Missbrauch weiß man dann noch, wer es war.

        SQL-Datenbank-Maschinen sind meistens "vorwärtsobtimiert". Das bedeutet, dass das physische Löschen enorm viel Kraft kostet, da auch alle Indexe beu aufgebaut und ggf. neu organisiert werden müssen.

        Und das physische Löschen von 1000 Datensätzen macht meistens nicht mehr Arbeit, als das Löschen von einem Datensatz.

        Du müsstest diese zusätzliche Abstraktionsebene dann aber in all Deine Funktionen einbauen.

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
  2. yo,

    kann ich irgendwie nach einem löschvorgang (per DELETE) alle gelöschten datensätze herausbekommen?

    ja, mach vorher einen normalen SELECT auf die Tabelle mit der gleichen WHERE bedingung. musst nur schauen, dass eventuell nach dem select und vor dem delete die tabelle eventuelle von anderen benutzern geändert werden kann.

    Ilja