"監査"トリガーを維持しやすくする。次のように は実際には、BEFORE UPDATEトリガーに、ロジックは次のとおりです。すべてのOLDとNEWを比較して変更を簡素化する必要があるMySQLトリガー
IF NEW.field <> OLD.field THEN INSERT INTO table SET field=OLD.field
私は本当に更新されていない行を格納したくないので、私は、変更のためのすべての列をチェックしています。多くの監視対象の列があり、テーブルを変更(列の追加または削除)すると、新しいテーブル構造を反映するようにトリガーを編集する必要があります。ループのためのすべてのテーブルの列と監査テーブルを移入するのと同じ方法を使用して、
FOR EACH COL BEGIN IF NEW.COL <> OLD.COL THEN SET changedetected=true; END IF; END
その後:
は、このような各columを経由する簡単な方法はありますか?
私は十分明確であるかどうかわかりません。必要に応じてコメントを投稿してください。
ご協力いただきありがとうございます。