mysql - 在mysql中连接任意数量的字符串行(分层查询)

标签 mysql string tree directory concatenation

我有一个包含相册的 mysql 表。每个相册可以是顶级相册,也可以是另一个相册的子相册。每个相册都有一个 foldername,它是图片所在文件夹的名称。每个相册还有一个名为 parent 的字段,它是父相册的 ID。所以,如果我有这样一张图片的路径:

root/album1/album2/image1.jpg

然后数据库中的专辑表将如下所示:

id parent foldername
1  NULL   root
2  1      album1
3  2      album2

那么问题来了,如何只用mysql从这个表中获取之前打印的路径呢?

最佳答案

我不确定在数据库中存储一棵树是个好主意...

为了让您的问题简单化,也许只需将相册的完整路径存储在表格的一列中...

id parent path           foldername
1  NULL   /              root
2  1      /root/         album1
3  2      /root/album1/  album2

关于mysql - 在mysql中连接任意数量的字符串行(分层查询),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/184641/

相关文章:

php - MySQL 找到第一个可用的周末

mysql - 向数据库添加附加表

mysql - 我无法将我的头围绕在连接上

c++ - 范围树构建

mysql - 如何在 HQL 查询中检查 NULL 或无效

linux - 当在日志文件中找到某个字符串时停止 Tail

iphone - 确定给定字符串中是否出现单字子串的最佳算法是什么

python - 查找所有出现的子字符串(包括重叠)?

tree - 从给定数据构建二叉树

data-structures - 基本树概念 : Defining ancestors