gpt4 book ai didi

数据库历史数据

转载 作者:搜寻专家 更新时间:2023-10-30 20:28:55 25 4
gpt4 key购买 nike

我将如何跟踪数据库的历史记录?我几乎完全将其用于统计目的。例如,查询数据库以了解我们当前拥有多少客户非常容易,但如果我想比较上个月的客户数与现在的客户数怎么办?

我假设我需要另一个表来跟踪此信息,并且想知道是否有某种标准方法可以做到这一点?

我的想法是这样的:

id table_name column row_id value valid_from valid_to

其中 valid_from 是插入数据的时间,valid_to 是数据库中不再能找到数据的日期。

例如,我有一个名为 teachers 的表,其中有一列状态。在状态列中,教师可能是“正在申请”、“已雇用”、“活跃”等。从一种状态到另一种状态的更改将保存在上表中,列 valid_to 保存教师停止具有“状态”的日期applying”,并为“hired”创建一个新行。查询该表的统计数据似乎相当容易。

但我真的不知道这是不是一个好方法。这正是我想出的,可能是一种可怕的方法。任何帮助/建议将不胜感激!

如果这很重要,我正在使用 MySQL 和 CakePHP。

最佳答案

这会做你想做的事。

您可以通过关闭旧的 id(将 valid_to 设置为日期)并使用相同的 table_name 开始另一个来跟踪该字段的更新columnrow_id 以及新的 value

另一种方法是这样的:

id entry_time table_name row_id column_name value

特定 table_name row_idcolumn_name 的第一条记录是该记录的创建。后续记录可以是更新(非 null value)或删除(null value)。

关于数据库历史数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16652722/

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