簡體   English   中英

在mysql中管理更改記錄的審計跟蹤的方法

[英]way to manage audit trail of changing record in mysql

我正在構建一個應用程序。 它基本上是一個電子商務訂單履行應用程序。 在這次審計試驗中,即誰改變了什么以及改變了多少次,其他人是一個重要的方面。 我應該如何在數據庫/表級別維護它? 假設一個記錄被 3 個人更改,我將如何維護所有更改並跟蹤誰更改了什么?

首先,您需要為每個要跟蹤的表創建如下結構:

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 中會更困難。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM