ホームページ >データベース >mysql チュートリアル >トリガーとビューを使用して MySQL でデータベースの変更を追跡および表示するにはどうすればよいですか?
MySQL を使用したデータベース変更履歴の追跡
多くのデータベース システムでは、レコードに加えられた変更を経時的に追跡する機能が必要です。 MySQL は、これを実現する簡単な手法を提供します。変更を監視する「data」という名前のデータ テーブルについて考えます。
まず、追加の 3 つの列を除き、同じ構造で「data」の履歴テーブルを作成します。
これらの列には操作が保存されますそれぞれ、(挿入/更新/削除)、シーケンス番号、操作の日付と時刻です。
次に、これらの操作をキャプチャして履歴テーブルにデータを入力するトリガーを作成します。
Now 、すべてのデータ変更は「data_history」テーブルに記録されます。更新全体にわたる特定の列の変更を表示するには、主キー列とシーケンス列で履歴テーブルをそれ自体に結合できます。
CREATE VIEW data_history_changes AS SELECT t2.dt_datetime, t2.action, t1.row_id, IF(t1.a_column = t2.a_column, t1.a_column, t1.a_column || " to " || t2.a_column) AS a_column FROM data_history AS t1 INNER JOIN data_history AS t2 ON t1.row_id = t2.row_id WHERE (t1.revision = 1 AND t2.revision = 1) OR t2.revision = t1.revision + 1 ORDER BY t1.row_id ASC, t2.revision ASC
これにより、テーブルに加えられたすべての変更のコンパクトな履歴ビューが提供されます。 「データ」テーブル。
以上がトリガーとビューを使用して MySQL でデータベースの変更を追跡および表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。