我在一个多人游戏中陷入困境,发现我正在用MySQL做一些皱眉的动作(我是一个数据库和PHP的初学者)。
我有一个包含所有相关信息的用户列表和一个包含他们大部分相关信息的游戏表格。我的问题是,我在动态地为每个游戏创建一个表,其中包含一个用户id、他们的分数和其他特定于游戏的数据。我知道这是个糟糕的做法,所以我想把它和我的游戏表中的一个条目合并起来,但是我不知道怎么做,因为有几个问题:
我一直在寻找资源,但我能找到的最好的方法是,在列中包含一个“伪数组”也是不好的做法。这意味着,如果我有一个"active_games“列,那么将数据作为当前所有活动game_ids的CSV并不是最佳实践。
任何帮助都将不胜感激!
发布于 2014-07-21 19:44:28
你需要三张桌子:
原因
发布于 2014-07-21 19:45:21
这里有一种方法可以简单地安排数据库来保存这些信息:
表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所以每个玩家都有一个条目,每一个游戏都有一个游戏条目,你可以将两者和PLAYER_GAME_DATA链接起来,每个游戏中的每个玩家都有一个条目。user_id和game_id列在PLAYER_GAME_DATA中是指向前两个表的外键。
您可以在PLAYER_GAME_DATA中为每个玩家和每个游戏有多个条目,这是没有问题的。
希望这能有所帮助。
https://stackoverflow.com/questions/24873188
复制相似问题