在 Mysql 中添加新列时如何轻松维护审计触发器
Posted
技术标签:
【中文标题】在 Mysql 中添加新列时如何轻松维护审计触发器【英文标题】:How to easily maintain auditing triggers when add a new column in Mysql 【发布时间】:2017-01-16 14:41:39 【问题描述】:现在我创建了一组触发器来审核对表的所有更改,包括插入删除和更新。
但是当我向审计表添加一个新列时,它需要我相应地为每个触发器添加一个句子。
有没有什么方法可以在我的触发器中编写一个 foreach 循环来遍历所有列,而不管表中有多少列以及将在多少列?感谢您的任何想法。
是否有任何工具可以帮助我们构建审计表? 我在想,既然审计是一个非常流行的用途,为什么不让mysql拿出一些cmd来帮助我们创建审计功能。
类似:
Create Table MyAudit
....
Audit All/(col1,col2).
然后我们可以相应地从 Audit_MyAudit 中获取审计数据。那太好了!
【问题讨论】:
【参考方案1】:您的想法帮助我改进了the mysql-audit-project。在 wiki 中有一个关于 Alter-Table
的讨论,它解释了一个过程可以帮助您通过调用脚本生成器来顺利更新审计表和触发器。执行输出脚本后,您的数据表及其上的触发器将与 audit_table 重新同步。希望该项目可以帮助您和其他人。
【讨论】:
以上是关于在 Mysql 中添加新列时如何轻松维护审计触发器的主要内容,如果未能解决你的问题,请参考以下文章
如何在单个级别上添加新列时使用 pandas group-by?
在 VB 2010 的数据表中插入新列时,如何更新 SQL Server 2008 数据库?
为啥 Django 在添加新列时会删除 SQL DEFAULT 约束?
Hive - 向表中添加新列时,我得到:SemanticException [Error 10002]: Invalid column reference