我应该如何在MYSQL中存储列表列表

时间:2018-08-15 06:18:38

标签: javascript php mysql

我想存储此列表列表,但不知道如何在MySQL中存储

list[x][y] the items in this list contains {li:[{x:x,y:y}] , pos:{x:y}}

list[x][y].li[z].x
list[x][y].li[z].y
list[x][y].pos.x
list[x][y].pos.y

为了更好的了解,请查看此this

编辑:enter image description here

对吗?所以这意味着我只有2张桌子?

1 个答案:

答案 0 :(得分:2)

您应该使用一个单独的表,该表包含具有 parent_id 列的子列表,然后使用第三个表包含低级列表的实际列表项。

对此查询将如下所示:

SELECT li.x, li.y, sl.id
FROM li_items li  
JOIN sub_lists sl on li.list_id = sl.id
JOIN lists l on sl.parent_id = l.id;

转换结果行的过程取决于您是否使用某些ORM或普通的mysql客户端。

您也可以将其存储为JSON(如删除的答案所建议的那样),但是,如果不选择并解析所有列表,就无法查询特定项目。您还可以使用MySQL的JSON列,但是在您的情况下,最好使用单独的表