首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否创建具有可查看历史记录的数据库条目?

是否创建具有可查看历史记录的数据库条目?
EN

Stack Overflow用户
提问于 2018-09-01 06:01:11
回答 2查看 26关注 0票数 0

我是一个小组的一员,我正在为我们的应用程序创建一个网站。我们已经决定有一个错误跟踪器会很有用,具有下面的表结构(称为bug_summary):

代码语言:javascript
复制
bug_id    Summmary    Details        Assigned Dev
------    --------    -------        ------------
1         Bug 1       Broken         Scott
2         Bug 2       Add Feature    Dave
3         Bug 3       Design Bug     Jimmy
4         Bug 4       Broken         Carly

我希望有另一个表来保存开发者输入的更新,但仍然“链接”到ID。假设bug_update表中有5个更新。

代码语言:javascript
复制
update_details    bug_id_for_update
--------------    -----------------
Jan 1st update    2
Jan 2nd update    2
Jan 2nd update    1
Jan 2nd update    4
Jan 4th update    2

我希望其中的3个“属于”第二个bug报告。有没有一种“最好”的方法来做到这一点?我使用的是phpMyAdmin,如果这有什么不同的话。

感谢任何人的帮助,这是非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-01 06:28:47

只要您感兴趣的列被更新,就在bug_summary表上编写一个on update触发器,以便在bug_update表中创建和条目。您可以记录您感兴趣的字段的旧值和新值。确保将bug_summary表的主键记录为bug_update表中的一个字段,这样您就可以轻松地进行连接,以查看单个条目上的更新。您可能还想创建一个字段来记录时间戳,以便确切地知道更新发生的时间。

http://www.mysqltutorial.org/create-the-first-trigger-in-mysql.aspx本文将演示这一概念

票数 0
EN

Stack Overflow用户

发布于 2018-09-01 06:22:24

看起来,bug_update行与bug_summary行具有多对一的关系。每个摘要项可以有零个或多个更新项。这非常适合您的用例。

您可能应该向bug_update表中添加某种序列号,或者至少添加一个时间戳,这样您就可以按照输入的顺序显示错误更新信息。(请记住,SQL数据库记录没有可靠的自然排序;您必须指定它。)

你可以使用一个自动递增的更新id。或者你可以通过use DEFAULT CURRENT TIMESTAMP来做这件事。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52123039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档