在mysql中管理更改记录的审计跟踪的方法

时间:2012-08-24 06:13:56

标签: php mysql

我正在构建一个应用程序。它基本上是一个电子商务订单履行应用程序。在这个审计试验中,即谁改变了改变的次数和次数,而其他改变则是一个重要的方面。我应该如何在数据库/表级别维护它?如果记录被3人改变,我将如何保持所有变化并跟踪谁改变了什么?

1 个答案:

答案 0 :(得分:2)

1,你需要为每个需要跟踪结构的表创建这样的结构:

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 U have long named columns (like this_columns_is_very_important_for_me_andmy_employeers...)
    field_value_was text null,
    field_value_new text null,    
}

第二,你需要在mysql连接的var中设置当前用户ID。或者您可以使用mysql的用户。您可以为每个用户创建单独的mysql登录。

第3次创建触发器插入/更新/删除将存储在user_track_logs

或者U可以在php中模拟这个过程,但在php中它会更难以实现