首先,我只知道sql,但不了解sql,所以请多多包涵
我遇到一种情况,默认条件是(例如)一个人只能有一个日程表,而一个日程表只有一个人,所以我只需要在我的person_id
中创建一个FK
作为schedule table
。 (1-1关系)
但是,现在一个日程表可以有一个以上的人,而一个人可以有多个日程表(多对多关系)。是否有可能做到这一点?如何重新设计我的数据库?
最佳答案
在两个表之间直接进行多对多引用并不是一个好主意。最好在关系之间放置一个单独的表。
然后,将执行以下示例查询:
select * from Person
join PersonSchedule on PersonSchedule.PersonId= Person.Id
join Schedules on Schedules.Id = PersonSchedule.ScheduleId
关于mysql - 同一张表中是否可以有多个外键?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26379440/