データベース内の任意の場所で行われた変更を追跡するために、ストアド プロシージャまたはトリガー イベントのいずれかを実装することを検討しています。トリガーを使用して特定のテーブルへの変更を追跡する方法の例を見つけましたが、より広いレベルで変更を追跡する方法の例はありませんでした。変化。理想的には、私がやりたいことは次のとおりです。
データベースでレコードが更新されるたびに、レコードがどのテーブルにあるかに関係なく、履歴テーブルにレコードを作成します。これには次の情報が含まれます。
- レコードが含まれているテーブル
- レコードの主キー (自動インクリメント整数)
- 更新された列の名前
- 新しい価値
- 変更を行ったユーザーの ID
- 更新を行ったユーザーの IP アドレス
必要に応じて、PHP スクリプトで手動でストアド プロシージャを呼び出してもかまいません。テーブル名、変更が行われた列名を自動入力する方法があることを願っています。