mysql链接变量多个数据有一个id

时间:2016-04-06 13:29:54

标签: php mysql

对于我在学校的论文,我正在制作一个基于幻想足球网站的PHP网站。并在本地主机服务器上运行

我正在使用MySQL数据库,但在查找如何放置此数据库时遇到问题。我已经有一个玩家(id,名称,团队,位置)tabel,一个用户表(id,名称,密码,队员中的id player 1,id player 2,id player3,id player4)和一个匹配的表(id ,日期,主队,客队,结果)。但我想补充一下在那场比赛中得分的人。我怎么做这个因为有时2人得分,但也有5人得分?我该怎么做?

非常感谢所有帮助。

1 个答案:

答案 0 :(得分:2)

您需要使用players_who_scored链接表来表示多对多关系。这看起来像这样:

CREATE TABLE players_who_scored (
  player_id INT NOT NULL,
  FOREIGN KEY (player_id) REFERENCES players(id),
  match_id INT NOT NULL,
  FOREIGN KEY (match_id) REFERENCES matches(id),
  PRIMARY KEY (player_id,match_id)
);

更新

如果你想跟踪游戏中玩家的所有统计数据,那么你可以添加如下列:

CREATE TABLE player_stats (
  goals INT,
  assists INT,
  yellow_cards INT,
  player_id INT NOT NULL,
  FOREIGN KEY (player_id) REFERENCES players(id),
  match_id INT NOT NULL,
  FOREIGN KEY (match_id) REFERENCES matches(id),
  PRIMARY KEY (player_id,match_id)
);