这个问题已经多次回答:here,here和外部链接here和here.
我理解上述线程中描述的方法,我打算使用this方法.
但我在实施这一点时几乎没有什么基本疑虑.
在我的情况下,一行中的多个列可以同时更新,因此遵循正确的实现方式:
>找出操作类型(INSERT / UPDATE / DELETE)
>找出正在更新的列
>在更新之前阅读整行
>在Audit表中为每个要更改的列插入一行,包含旧值和新值(以及其他详细信息)
>更新表格
最佳答案
假设您使用的是最新版本的mySQL,我个人会使用triggers.
假设它们或多或少像我在其他产品(例如Oracle)中熟悉的那样工作,那么你的问题会变得更简单,因为你在行上放置了一个“更新”触发器并用它来更新每个字段的审计表你对…感兴趣.
可能需要注意的是:如果您的应用程序仅将数据库作为一个用户登录(例如,如果使用连接池,则是一种常见方法),记录实际用户身份可能会很棘手.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。