MYSQL 触发器更新复制整行

标签 mysql triggers

我正在尝试创建一个触发器,以在任何 UPDATE 时将整行复制到审计表。

我有两张 table

FrequenciesFrequencies_Audit

这是我的触发器。

create trigger auditlog 
before update on frequencies
for each row insert into
frequencies_audit select frequencies.*;

当我更新记录时,我得到 Unknown Table frequencies

如果可能的话,我不想分别输入每个字段名称,因为我们不断地在数据库中添加列。

最佳答案

您可以编写 AFTER UPDATE 触发器,而不是 BEFORE UPDATE,如下所示::

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 只是 Id 列的名称。将其替换为频率表中 Id 列的名称。

关于MYSQL 触发器更新复制整行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11642456/

相关文章:

mysql - 向触发器添加注释(描述)

mysql - 我将如何限制表格行数?

jQuery - 从 DOM 中删除元素时触发事件

mysql - 使用列名的动态行数据重建表的 SQL 查询

c# - 如何在 C# 中将查询保存到字典中?

mysql - 如何在 MySQL 5.0.45 中创建具有多个操作的触发器?

python - 要快速从 Python 数组转换为 PostgreSQL?

mysql - 根据与用户关联的项目获取数据列表

php - 使用zend的Mysql删除查询

mysql - MySQL 转储中出现错误并且需要 php 字符串中的 mysqldump 输出。