Mysql 外键/表

问题描述 投票:0回答:3

这使得我很长一段时间没有使用 SQL,而且我对外键/表创建感到困惑。

我有两张桌子:

users
id | pseudo | firstname | email | password ...  etc

event
id | organizer | language | event_name | event_desc | event_place | ... 

我需要用户能够订阅一个或多个事件。 (当然,一个事件可以包含一个或多个用户)。

首先,我首先在事件表中创建一列“registered_users”,但我认为这不是解决方案......

所以我不知道了:

  • 我要么更改其中一个表以具有外键?
  • 或者也许我需要一个外键来将每个用户的事件列表关联起来,然后另一个外键将每个事件与用户列表关联起来......?
mysql foreign-keys
3个回答
0
投票

您具有多对多关系,需要第三个表 EventUsers,其中包含 Event.Id 和 User.Id 列。


0
投票

这里这取决于您的需要,但似乎您必须更改Event表并添加user_id的外键,事件表中可以有多个。


0
投票

为用户和事件之间的关系创建一个新表。该表可以有 3 列,主键、id(来自用户表的外键)、id(来自事件表的外键)

© www.soinside.com 2019 - 2024. All rights reserved.