Mysql SQL-两个表之间的多个关系

Mysql SQL-两个表之间的多个关系,mysql,sql,database,foreign-keys,relationship,Mysql,Sql,Database,Foreign Keys,Relationship,我有一个用户表和一个任务表 在Tasks表中,我希望有创建人和修改人的列 这两列都应该具有用户表的外键 这和从每个列创建一个外键到用户表一样简单,还是有一个推荐的方法可以使用?这一点都不奇怪。(恕我直言,你可能想得太多了。) 您的任务实体有两个用户(创建和修改)。每个列的列都可以配置为从任务到用户表的自己的外键。没问题 但是我的经验告诉我,你应该考虑一种处理用户和任务的问题的不同方法。我建议你加上第三张表,也许叫Action 对于用户对任务执行的每个操作,它都有一行。它可能看起来像这样 acti

我有一个用户表和一个任务表

在Tasks表中,我希望有创建人和修改人的列

这两列都应该具有用户表的外键


这和从每个列创建一个外键到用户表一样简单,还是有一个推荐的方法可以使用?

这一点都不奇怪。(恕我直言,你可能想得太多了。)

您的任务实体有两个用户(创建和修改)。每个列的列都可以配置为从任务到用户表的自己的外键。没问题

<>但是我的经验告诉我,你应该考虑一种处理用户和任务的问题的不同方法。我建议你加上第三张表,也许叫Action

对于用户对任务执行的每个操作,它都有一行。它可能看起来像这样

action_id  task_id  user_id action  ts                    description
   214        48      97    create  2020-01-29T12:33:00   
   215        48      34    edit    2020-01-29T14:25:00   explain how to test
   216        48      88    edit    2020-01-29T14:48:00   update explanation

action\u id
是一个自动递增的主键
task_id
对于Tasks表是FK,而
user_id
对于Users表是FK。此操作表的目的是跟踪用户对任务所做的操作。查询任务的第一个操作或最后一个操作非常简单。

这就像创建两个外键关系一样简单。通常一个尝试了这个操作,如果失败,您可以问一个问题!:)感谢您快速而直截了当的回答@GordonLinoff。现在,这不是某种数据完整性问题吗?某种类型的循环引用?我还没有看到任何文档来解释这一点。如果有什么地方我可以在这里自学,请告诉我。@LuisVidal。我真的不知道你在问什么。用户有一个主键。其他表可以包含通过主键对用户的引用。这样的表可以有多个引用,你有一个很好的例子。哈哈,你绝对是对的,里格斯,但经验也告诉我,反复试验有时会导致一些简单的事情过度复杂,或者,更糟糕的是,采取错误的捷径,使坏代码永久化。。。我真的只是想从一开始就学会“正确的方法”,所以我很感谢你的帮助=/