2

mysql select ステートメントでいくつかのレコードを省略し、それらを削除しない方法はありますか? たとえば、列を簡単に追加し、deleted削除された列を 1 に設定して保持することができますが、問題はwhere deleted = 1すべてのクエリを入力する必要があることです。いくつかのレコードをアーカイブとして保持する最良の方法は何ですか?

4

1 に答える 1

2

テーブルの数と保存するデータの量はわかりませんが、解決策は次のとおりです。

  • 仮想的に削除されたデータを保持するテーブル (tblName) ごとに tblName_HIST テーブルを作成します。
  • オプション: DELETED_DATE 列を追加して、レコードが削除された日付を追跡します。
  • tblName テーブルにトリガーを追加し、AFTER DELETEステートメントで tblName_HIST テーブルのレコードをINSERTします。

これにより、クエリと DB テーブルをそれほど変更せずに保持することができます。

于 2013-02-24T13:30:15.760 に答える