2016-08-02 69 views
0

这使我很长一段时间不使用SQL,并且我迷失了ForeignKeys/table创建。Mysql外键/表

我有两个表:

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

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

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

首先,我开始通过创建事件表中的列“registered_users”,但我认为这不是解决......

所以我不知道了:

  • 无论是我改变一个表有一个外键?
  • 或者我可能需要一个外键将每个用户关联到一个事件列表,然后另一个FK将每个事件关联到一个用户列表......?

回答

0

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

0

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

0

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

User_Event

User_ID | Event_ID

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