更新事件后使用mysql触发器备份行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更新事件后使用mysql触发器备份行相关的知识,希望对你有一定的参考价值。

我发现了这个问题MYSQL Trigger Update Copy Entire Row

如果建议使用以下代码部分回答我的个人问题,在更改数据库行后执行行备份:

 DROP TRIGGER auditlog

 CREATE TRIGGER auditlog AFTER UPDATE ON frequencies

 FOR EACH ROW BEGIN  

 INSERT INTO frequencies_audit select * from frequencies where freqId = NEW.freqId;

 END;

问题是我喜欢在备份行中插入其他信息,所以我认为添加变量可以解决问题。我的问题是,这是正确的程序吗?

INSERT INTO frequencies_audit select *, @variable, 'my_value' from frequencies where freqId = NEW.freqId;
答案

我知道这个问题很老,但我偶然发现了同样的问题。对我来说,只需直接添加缺少的字段,如:

INSERT INTO frequencies_audit select *,"insert" as operation from frequencies where id = NEW.id

对我来说很好。对于更现实的案例,您必须加入。

以上是关于更新事件后使用mysql触发器备份行的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 之视图触发器存储过程函数事物数据库锁数据库备份

MySQL思考触发器是否应该在生产环境中使用?

MySQL思考触发器是否应该在生产环境中使用?

MySQL 触发插入/更新事件

MySQL——视图触发器存储过程函数事物数据库锁数据库备份

MySQL 之视图触发器存储过程函数事物数据库锁数据库备份