对这样的表进行排序的最佳方法是什么:
CREATE TABLE category(
id INT(10),
parent_id INT(10),
name VARCHAR(50)
);
INSERT INTO category (id, parent_id, name) VALUES
(1, 0, 'pizza'), --node 1
(2, 0, 'burger'), --node 2
(3, 0, 'coffee'), --node 3
(4, 1, 'piperoni'), --node 1.1
(5, 1, 'cheese'), --node 1.2
(6, 1, 'vegetariana'), --node 1.3
(7, 5, 'extra cheese'); --node 1.2.1
Run Code Online (Sandbox Code Playgroud)
要通过分级排序,它的ID或名字:
"比萨饼" //节点1
"piperoni" //节点1.1
"奶酪" //节点1.2
"额外的奶酪" //节点1.2.1
"vegetariana" //节点1.3
"汉堡" // node
2'coffee'// node 3
编辑:名称末尾的数字是更好地可视化结构,它不是用于排序.
编辑2:如上所述...... …