作業するための一種のアルゴリズムを提供できます。基本的な作業のほとんどはすでに完了しています:
これは監査テーブルにすることができます。タイムスタンプ列を変更日として追加するか、要件に応じて詳細情報を追加する必要があります。
CREATE TABLE audit (
old_data VARCHAR(100),
new_data VARCHAR(100),
tbl_name VARCHAR(100)
)
|
これは、参照トリガーとして使用できます。テーブルごとに個別のトリガーがあることに注意してください:
CREATE TRIGGER testtrigger BEFORE UPDATE ON <table_name>
FOR EACH ROW BEGIN
INSERT INTO audit(old_data, new_data, tbl_name) VALUES (OLD.first_name, NEW.first_name, "testtable");
END;
|
列ごとに1つずつ複数の挿入ステートメントを設定できます。変更されていないデータを挿入しないように制限する場合は、トリガーで次の変更を行うことができます。
IF(OLD.column_name <> NEW.column_name) THEN
--Your insert query here
ELSE
--NOOP
END IF;
さらに情報が必要な場合はお知らせください。