1

私はアプリケーションを構築しています。基本的には、電子商取引の注文フルフィルメント アプリケーションです。この監査トライアルでは、誰が何を何回変更したか、その他が重要な側面となります。これをデータベース/テーブルレベルで維持するにはどうすればよいですか? レコードが 3 人によって変更された場合、すべての変更を維持し、誰が何を変更したかを追跡するにはどうすればよいでしょうか?

4

1 に答える 1

2

まず、次のような構造で追跡するすべてのテーブルを作成する必要があります。

create table user_track_logs {

    id bigint(20) primary key auto_increment,
    key_id int (11),
    user_id (int),
    created timestamp default now(),
    field varchar(128)// set bigger if you have long named columns (like this_columns_is_very_important_for_me_and_my_employers...)
    field_value_was text null,
    field_value_new text null,    
}

次に、MySQL 接続の var に現在のユーザー ID を設定する必要があります。または、MySQL のユーザーを使用することもできます。ユーザーごとに個別の MySQL のログインを作成できます。

3 番目の作成により、挿入/更新/削除がトリガーされ、これが に格納されuser_track_logsます。

または、このプロセスを PHP でエミュレートすることもできますが、PHP ではより困難になります。

于 2012-08-24T07:57:34.757 に答える