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 $$