我在多人游戏中膝盖深处,发现我正在用MySQL做一些皱眉的行动(我是数据库和PHP的初学者)。
我有一个用户表,其中包含所有相关信息,以及一个包含大部分相关信息的游戏表。我的问题是我正在为每个游戏动态创建一个包含用户ID,他们的分数和其他游戏特定数据的表。我知道这是不好的做法,所以我希望将其与我的游戏表中的单个条目合并,但由于一些问题,我无法弄清楚如何做到这一点:
我一直在寻找资源,但我能找到的最好的是在列中包含“伪数组”也是不好的做法。这意味着如果我确实有一个“active_games”列,那么最好将数据设置为所有当前活动的game_id的CSV。
非常感谢任何帮助!
答案 0 :(得分:2)
您需要三张桌子:
<强>原因强>:
答案 1 :(得分:1)
以下是一种可以通过简单方式安排数据库来保存此信息的方法:
表1:
PLAYERS(user_id)
Primary key: user_id
表2:
GAMES(game_id, game_type, etc.)
Primary key: game_id
表3:
PLAYER_GAME_DATA(user_id, game_id, score, active)
Primary key: user_id, game_id
因此,每个玩家都有一个玩家参赛,每个游戏都有一个GAMES条目,你将两个玩家与PLAYER_GAME_DATA联系起来,每个游戏中的每个玩家都有一个条目。 PLAYER_GAME_DATA中的user_id和game_id列将是指向前两个表的外键。
对于每个玩家和每个游戏,您可以在PLAYER_GAME_DATA中有多个条目,这是可以的。
希望这有帮助。