gpt4 book ai didi

mysql - 数据库设计 : how to track history?

转载 作者:可可西里 更新时间:2023-11-01 06:47:05 24 4
gpt4 key购买 nike

数据库设计中维护修订历史的一般策略是什么?如果它只是我正在处理的一张 table ,我认为它不会那么难。只需将每次更新保存为表中的新记录即可。最后一条记录永远是最新的版本。

但是当数据存储在多个表中时,设计它以便跟踪修订的好方法是什么?

最佳答案

我更喜欢为每个版本化的表添加额外的历史表。与具有 time_fromtime_to 附加字段的主表结构相同。透明地充满触发器。最新修订版的 time_to 设置为遥远的 future 。

指定时刻的状态可以用这样的查询来检索:

SELECT * FROM user_history 
WHERE time_from >= '2012-02-01' AND time_to <= '2012-02-01'

对我而言,将历史记录存储在主表中通常不是一个好主意,因为在检索或连接当前数据时需要复杂的条件。

关于mysql - 数据库设计 : how to track history?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11294292/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com