我的网页用PHP编码,并链接到MySQL Server Management Studio数据库。该网页的主要功能是允许用户通过该网页搜索数据库中的数据。我想创建一个搜索日志来跟踪用户的活动(谁,什么,他们何时搜索以及他们得到了什么结果)。我该怎么办?
对于管理员,他们具有添加,删除,编辑数据库表中数据的权限。我想创建一个审核日志以捕获添加,删除或编辑的日期时间,用户ID,旧值,新值和字段等。
由于我是新手,请感谢所有人的所有帮助。预先谢谢你。
答案 0 :(得分:1)
建立自己的审核跟踪可能会存在隐藏的问题和警告
假设此结构可以解决问题:
CREATE TABLE audit_trail (
id int not null primary key auto_increment,
user_id int not null,
action_time datetime not null,
action_performed enum ('view','add', 'edit', 'delete'),
table_affected varchar(50) not null, -- table of affected item
item_affected int not null, -- supposing every table has it's own id key
old_value varchar(1000),
new_value varchar(1000)
)
如何存储旧值和新值-这是您的决定。首先请考虑,自定义审核日志不适合还原回值(mysqldump和其他实用程序可以解决)。但是通常足以存储新旧值的短字符串表示形式(这就是varchar的原因)