1

有一个允许玩家拾取最多 60 件物品的游戏,存储表如下所示:

Player_ID    Slot_1  Slot_2 ....Slot_60

当用户拿起一个新项目时,它应该自动放置在最低的空列中(如果项目是插槽 1、3、4、5,则新拾取的项目应放置在插槽号 2 中。

但是如何选择这样的列?

4

1 回答 1

6

你没有;你是完全正确的,按照你建议的方式去做是一个可怕的查询。规范化您的表格,使其看起来像这样:

PLAYER_ID, SLOT_ID, ITEM_ID.

然后是第一个空槽

select min(slot_id)
  from storage
 where item_id is null
于 2013-08-20T11:58:08.553 回答