mysql - 在Mysql中添加新列时如何轻松维护审计触发器

标签 mysql triggers audit

现在我已经创建了一组触发器来审核对表的所有更改,包括插入删除和更新。

但是当我向审计表中添加一个新列时,它要求我相应地为每个触发器添加一个句子。

有什么方法可以在我的触发器中编写一个 foreach 循环来遍历所有列,而不管表中有多少列?感谢您的任何想法。

有什么工具可以帮助我们建立审计表吗? 我想知道既然审计是一个非常流行的用途,为什么 mysql 不拿出一些 cmd 来帮助我们创建审计功能。

类似于:

Create Table MyAudit
.... 
Audit All/(col1,col2).

然后我们就可以从Audit_MyAudit中得到相应的审计数据。那太好了!

最佳答案

您的想法帮助我改进了 the mysql-audit-project .在 wiki 中有一个关于 Alter-Table 的讨论,它解释了一个过程可以帮助您更新审计表和触发器,通过调用脚本生成器顺利进行。执行输出脚本后,您的数据表及其上的触发器将重新与 audit_table 同步。希望该项目可以帮助您和其他人。

关于mysql - 在Mysql中添加新列时如何轻松维护审计触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39394763/

相关文章:

mysql - 从具有三个不同列的三个不同表中进行搜索

php - 将元素插入数组未按预期工作

php - MySql 位列在 PHP 7.1 中返回奇怪的大数(在以前的版本中没有)

c# - 触发器不触发,Unity

kubernetes - 如何将审核日志发送到 minikube 中的 webhook

mysql - notifyJobStoreJobComplete 方法中的 Quartz 失败

mysql - 错误 1054 (42s22) : unknown column 'action' in 'field list'

sql - 错误 : syntax error at or near "INSERT" , SQL 触发器,协议(protocol)表

java - 将带有 java envers 的审计表移动到新的数据库实例

java - 保存域对象基本审计数据的简便方法?