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

标签 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

这是对的吗?所以这意味着我只有两张 table ?

最佳答案

您应该使用一个单独的表,其中包含具有列 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 列,但在您的情况下,使用单独的表似乎更好

关于javascript - 我应该如何在 MYSQL 中存储列表的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51853822/

相关文章:

javascript - 如何将 Yeoman 应用程序推送到服务器

javascript - Angular js - 格式化日期时间以匹配条件

php - 在 Windows 上设置 Openssl 的简单说明

php - 我无法在 mysql + php 的关系模型中将 2 个字段设置为主键的查询工作

mysql - 优化代码以在一个巨大的表中填充一个新列

javascript - Google 图表 - 如何更改整个表格的 css 属性

javascript - 如何在php中的不同链接中添加不同的评论框?

javascript - 如何分别在桌面 View 和移动 View 中显示两个图像。

php - 在 mySql 中获取最大值的时间

php - 如何将自定义对象数组插入mysql数据库