显示创建表:
CREATE TABLE `a` (
`id` int(11) NOT NULL,
`name` varchar(255) DEFAULT NULL,
`parent_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `parent_id` (`parent_id`),
CONSTRAINT `a_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `a` (`id`) ON DELETE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1
选择:
+----+---------+-----------+
| id | name | parent_id |
+----+---------+-----------+
| 1 | World | 1 |
| 2 | Europe | 1 |
| 3 | USA | 1 |
| 4 | France | 2 |
| 5 | Germany | 2 |
+----+---------+-----------+
问题:
我如何最好地定义一个函数,将 id 4 作为参数传递,返回:
“世界 > 欧洲 > 法国”
“parent_id”的这种分层“嵌套”可以任意深,而不仅仅是 3 层深。