mysql 如何复制触发器,MYSQL触发器更新复制整个行

I am trying to create a trigger to copy an entire row to an audit table on any UPDATE.

I have 2 tables

Frequencies and Frequencies_Audit

This is my trigger.

create trigger auditlog

before update on frequencies

for each row insert into

frequencies_audit select frequencies.*;

When I update the record I get Unknown Table frequencies.

I don't want to have to enter each field name separately if possible since we are constantly adding columns in the database.

解决方案

Rather than BEFORE UPDATE, you can write AFTER UPDATE trigger as follow ::

DELIMITER //

CREATE TRIGGER auditlog AFTER UPDATE ON frequencies

FOR EACH ROW BEGIN

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

END;//

DELIMITER ;

freqId is just a name of Id column. Replace it with the name of Id column in your frequencies table.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值