我想存储此列表列表,但不知道如何在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
对吗?所以这意味着我只有2张桌子?
答案 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列,但是在您的情况下,最好使用单独的表