2012-12-25 50 views
1

那么我怎么可以把这个,我正在用户数据库上工作,并且每个用户都会有一些解锁-ables。管理mysql数据库上的unlockables

所以我不确定什么是最好的方法来管理这些类型的数据,我应该有一个表与每个解锁能力和每个数量值,并将其链接到用户?或者,还有更好的方法?或者,也许我可以使用2个数据库,一个用于用户,另一个用于解锁?

我真的认为我的想法并不是最好的,因为如果我有1000个可能的解锁器,每个用户必须链接到一个有1000种可能性的表格。此外,如果我想添加新项目,我将不得不以这种方式更新大型数据库。

+1

什么是解锁? – Lock

+0

像他们可以以某种方式解锁的功能。 – Xeinnex

+1

程序中的功能?你将不得不提供更多的细节 – Lock

回答

1

编辑

什么,我回答是一个非常糟糕的主意,它的作品,但在关系数据库中被认为是不好的做法,因为你不希望有项目的混搭一个领域,它更好使用几个表来规范这一点。这就是说,如果你正在使用noSql,你可以使用像我建议的东西,而不是使用连接字符串,你会使用关联数组(json)结构来保存这些值。


内部用户表,创建一个列,叫你想“的unlockables”或W/E是最好的(把“文本”作为数据类型),每次用户得到你所添加的unlockables之一它由这个字段分隔“*”或任何你想要的,如果这些可解锁的也有数量,你也可以添加第二个分隔符,比如这个“ID +数量* ID +数量”,所以可以说你有3个项目, (12,45,89)和这个等价的数量(1,6,2),你可以像这样添加它(12 + 1 * 45 + 6 * 89 + 2),那么当你使用php检索这个值时,你会爆炸字符串两次,首先使用“*”,然后使用“+”,你将有一个数组与数据,你也可以为此创建第二个表,但这是你的选择,这只是一个快速的方式去与你希望,我希望这可以帮助你一点。

+0

谢谢,这似乎解决了这个问题,即使它觉得可能有一个更简单的方法。 – Xeinnex

+1

欢迎您,这个很容易,但我相信如果您觉得这个难度很大,那么根据您的需求,我们肯定会有更好的方法。我很高兴我能帮上忙。 – Zagen