Frage

Ich habe Datenbank-Anwendung, ich möchte, damit der Benutzer die gelöschten Datensätze aus der Datenbank wiederhergestellt werden, wie in den Fenstern wir Papierkorb für Dateien habe ich das Gleiche tun wollen, aber für Datenbankeinträge, wird angenommen, dass ich viel haben von verwandten Tabellen, die viele Felder haben.

Edit:

Lassen Sie uns sagen, dass ich die folgenden Strukturen aufweisen:

Berichte Tabelle

  • RepName Primärschlüssel
  • report

Tabelle Benutzer

  • ID Primärschlüssel
  • Name

UserReports Tabelle

  • RepName Primärschlüssel
  • UserID Primärschlüssel
  • IsDeleted

wenn ich nun Feld in UserReports Tabelle isDeleted ausgedrückt, kann der Benutzer nicht denselben Datensatz erneut hinzufügen, wenn sie als gelöscht markiert, da der Datensatz bereits ist, und dies wird Duplizierung machen.

War es hilfreich?

Lösung

. Hinweis: Ich habe immer Surrogat Primärschlüssel verwenden

Fügen Sie einen Zeitstempel 'deleted_at' Spalte. Wenn Eintrag Benutzer Löschungen setzen dort aktuelle Uhrzeit an. Machen Sie diese Taste Teil Ihrer constrain.

In jeder Abfrage erinnere mich nur nach Datensätzen zu suchen, die null in deleted_at Feld haben.

Einige Frameworks (wie Activerecord) machen es trivial zu tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top