MySQL 文件路径的搜索字段

MySQL Search Field of File Paths

我在 mysql table 中有一个名为 "path" 的字段,它存储这样的文件目录树:

home/
home/myfile.txt
home/folder1/
home/folder1/myotherfile.txt
home/folder2/
home/folder2/evenmorefiles.txt

假设我想获取特定路径的路径列表(很像您将 cd 进入目录并在 linux 中执行 ls)。 例如,显示 "home/" 目录中的所有行,但不显示子目录

中的所有行
home/myfile.txt
home/folder1/
home/folder2/

我的查询有效,但非常难看。有没有更有效的方法来实现这个?

SELECT path FROM myTable WHERE (path LIKE "home/%") AND (path NOT LIKE "home/%/%");

使用REGEXP:

SELECT *
FROM myTable
WHERE path REGEXP 'home/[^/]+/?$';

path
1   home/myfile.txt
2   home/folder1/
3   home/folder2/

Demo