Mysql外键/表

时间:2016-08-02 18:56:11

标签: mysql foreign-keys

很长一段时间我不使用SQL,而且我对于ForeignKeys / table创建感到迷茫。

我有两张桌子:

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

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

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

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

所以我不知道了:

  • 要么改变其中一个表以获得外键?
  • 或许我需要一个外键来为每个用户关联一个事件列表,然后另一个FK将每个事件关联到一个用户列表......?

3 个答案:

答案 0 :(得分:0)

你有一个多对多的关系,需要第三个表,EventUsers包含Event.Id和User.Id的列。

答案 1 :(得分:0)

这是你需要的,但似乎你必须改变 Event 表并添加一个user_id的外键,在事件表中可以是多个。

答案 2 :(得分:0)

创建一个单独的表来保留关联的用户和事件。

User_Event

User_ID | EVENT_ID

此表将包含所有必需的数据,即具有一个事件的多个用户或具有一个用户的多个事件