0

最近我创建了一个成就系统,achievement1当某件事取得成就时,它将一个字段设置为 int 1,问题是我们有超过 100 个字段achievement1achievement2等等achievement3......

所以我的问题是如何优化这个?我正在考虑在一个字段中存储一个字符串,例如1,0,1,0,1,0,1...0 表示未实现的成就,1 表示已完成。但这会不会更糟,因为我每次都必须更新一个很长的字符串而不是 1 个整数?

我到处寻找答案,但没有发现任何有用的东西。

4

1 回答 1

1

您可以创建一个表来存储每个用户的成就(假设它们以某种方式与用户相关)。UserID 可能有一个外键,然后是成就编号的整数值。所以 (15,1) 表示 ID 为 15 的用户已经完成了成就 1。如果您想查找用户已完成的所有成就,只需执行以下操作:

SELECT achievementNumber FROM tblAchievements WHERE UserID = 15.

“成就”的文字真的很随意,重要的是你如何使用它。

于 2013-02-24T03:05:06.383 回答