像这样对表格进行排序的最佳方法是什么:
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
按id或名称对其进行分层排序:
'pizza' //node 1
'piperoni' //node 1.1
'cheese' //node 1.2
'extra cheese' //node 1.2.1
'vegetariana' //node 1.3
'burger' //节点 2
'咖啡' //节点 3
编辑:名称末尾的数字是为了更好地可视化结构,而不是用于排序。
编辑2:正如多次提到的...... name
“奶酪1.2 ”末尾的数字仅用于可视化目的,而不是用于排序。我将它们作为评论移动,太多人感到困惑,对不起。