我正在构建一个应用程序。它基本上是一个电子商务订单履行应用程序。在此审计试验中,即谁更改了哪些内容以及更改了多少次,以及其他人是一个重要方面。我应该如何在数据库/表级别维护它?假设如果记录被 3 人更改,我将如何维护所有更改并跟踪谁更改了什么?
问问题
1636 次
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 回答