![]() |
1
1
我喜欢acts_as_versioned插件在rails中的工作方式。它最接近解决方案2,并带有一个额外的版本号字段。你基本上有你的水果桌和水果版桌。每次更新水果中的行时,都会在水果版本表中插入相同的数据,版本号会递增。 如果您想向表中添加更多字段或跟踪其他值,我认为它比解决方案3方法更具扩展性。解决方案4是一种非关系解决方案,您可能会保留这样的审计日志。 与保留版本相反,另一种方法是跟踪更改,就像subversion或版本控制系统那样。如果您经常需要知道某个东西是否从a更改为b,而不是它更改为什么,那么这样做会更容易。我想这意味着真正的答案是“这取决于”如何使用数据。 |
![]() |
2
0
如果您使用的是sql server 2008,那么您有没有看一下cdc(change data capture)? |
![]() |
3
0
在一个 触发 ,有一种方法可以查看修改了哪些列。 |
![]() |
4
0
使用SQL Server 2005和更高版本,您可以使用如下if语句创建触发器:
|
![]() |
5
0
一种方法是向这些表添加触发器。在触发器中检查您感兴趣的列是否已更改。如果已更改,请将行插入另一个跟踪更改的表中。更改跟踪表可能希望存储数据,如更改的列的名称、上一个值、新值和更改日期。 |
![]() |
blogger13 · 视频租赁店数据库的规范化 7 月前 |
![]() |
ì¤ì¤í · 为什么LEFT INNER JOIN被弃用? 8 月前 |
![]() |
relatively_random · 确保两个表之间一致的共同参考 9 月前 |
|
Grenish Rai · Firestore错误“用户文档不存在” 1 年前 |
![]() |
Saijo-Shi · PLpgsql中的更新触发器 1 年前 |
![]() |
Dante · Django::配置不当:池不支持持久连接 1 年前 |
![]() |
YouLocalRUser · 删除重复行,保留第一行 1 年前 |