MySQL -更改跟踪数据库中的“数据”



我有一种情况,我需要跟踪MySQL数据库中数据的所有更改。

例如,我们在"客户"表中有一个字段,其中包含一个评级,表明与该客户做生意的风险有多大。每当这个字段被更改时,我都需要将其记录下来,这样我们就可以返回并说"它们原来是3,现在它们是8",例如。在MySQL中是否有任何自动化的方法来处理这个问题,或者我只需要在应用程序本身中编写大量的更改跟踪逻辑?

如果你使用的是5+版本的MySQL,那么这就是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 $$

相关内容

  • 没有找到相关文章

最新更新