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 登录。

第三个创建触发器插入/更新/删除将存储在user_track_logs.

或者你可以在 PHP 中模拟这个过程,但是在 PHP 中会更加困难。

于 2012-08-24T07:57:34.757 回答