![]() |
1
1
您很可能已经实现了您的解决方案,但为了解决一些问题,我建议考虑Aleris的解决方案或其派生产品。
日志中包含的字段由您决定,但Aleris的解决方案是直接的。我可以创建一个操作表,并将字段类型从varchar更改为int,作为到操作表的链接——强制开发人员执行一些标准化的操作。 希望它有帮助。 |
![]() |
2
1
另一种选择是创建一个如下所示的审计日志:
其中entityname是表的名称(例如:贡献、省),操作是审计操作(例如:创建、删除等),entityid是原始表中修改行的主键。 对于执行到表的每个操作,需要保持表的同步。有几种方法可以做到这一点:
1)对将向AuditTable添加行的每个表进行触发器
使用此解决方案很容易获得审核中的日志列表。 如果需要从原始表中获取列,也可以使用如下联接:
|
![]() |
3
0
您可能可以通过交叉联接和合并来实现这一点,但从性能的角度来看,联合可能仍然更好。不过,您可以尝试测试每一个。
|
![]() |
Community wiki · SQL语法新手 1 年前 |
![]() |
KateMak · 是否将多行中的多列与唯一id组合? 1 年前 |
![]() |
Karuna · SQL中列内的筛选器[重复] 1 年前 |
![]() |
Irvan Affandy · 为另一个选择选择声明的键 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |