gpt4 book ai didi

mysql - 如何在mysql中保存历史数据?

转载 作者:行者123 更新时间:2023-11-29 12:31:32 26 4
gpt4 key购买 nike

我看到很多线程询问如何在 mysql 中保存记录历史记录。但是,我不太确定它们是否适合我的情况。

我正在开发一个包含大量用户信息的申请表。到目前为止,我必须将其规范化为 12 个表,尽管其中大多数表具有 1:1 关系,但我认为它们在将来的使用中会很好:

  • 用户(ID、全名、用户名、电子邮件、创建日期、更新日期...)
  • 家庭(ID、用户 ID、姓名、关系、工作...)
  • 地址(ID、用户 ID、道路、区、省...)
  • ...

当客户填写完表格中的所有字段后,他们有两个选择,第一,他们可以将其保存为草稿,第二,他们可以确认发送申请并且不能再更改。

到目前为止我已经做了一些研究。他们有很多方法可以做到这一点。例如,我可以复制所有带有一些附加字段的表;版本号然而,由于 table 数量巨大,我认为这不是一个好主意。

所以,我的想法是将 VersionId 添加到每个现有表中。当他们将表单保存为草稿时,我只会输入信息而不触及 VersionId 字段,但是,每当用户确认提交申请时,我都会将 VersionId 加 1。

任何建议都会非常受欢迎。

最佳答案

向每个表添加一个status列。它可以具有值草稿当前历史

当用户对其数据进行更改时,使用 status = Draft 创建一个新行。当他们编辑时,您修改该行。当他们确认更改后,您将旧的当前行的状态设置为历史,并将草稿行的状态设置为当前

关于mysql - 如何在mysql中保存历史数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27414306/

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