1
我有一種情況需要跟蹤MySQL數據庫中數據的所有更改。MySQL - 更改數據庫中* data *的跟蹤?
例如,我們在「customers」表中包含一個字段,其中包含一個評級,表明與該客戶進行交易的風險程度。每當這個領域發生變化,我都需要記錄下來,所以我們可以回過頭來說「他們是3,現在他們是8」。在MySQL中是否有自動化的方式來處理這個問題,或者我只需要在應用程序本身中寫入大量的變更跟蹤邏輯?
我有一種情況需要跟蹤MySQL數據庫中數據的所有更改。MySQL - 更改數據庫中* data *的跟蹤?
例如,我們在「customers」表中包含一個字段,其中包含一個評級,表明與該客戶進行交易的風險程度。每當這個領域發生變化,我都需要記錄下來,所以我們可以回過頭來說「他們是3,現在他們是8」。在MySQL中是否有自動化的方式來處理這個問題,或者我只需要在應用程序本身中寫入大量的變更跟蹤邏輯?
這是觸發器是爲MySQL內部設計的,假設您使用的是5+版本的MySQL。
CREATE TRIGGER log_change_on_table BEFORE UPDATE ON customers
FOR EACH ROW
BEGIN
INSERT INTO customer_log (customer_id, rating, date)
VALUES (OLD.customer_id, OLD.rating, now())
END $$