Mysql msyql中有循环吗
我有一个mysql表,其中有两个字段表示它们的关系,如下表所示Mysql msyql中有循环吗,mysql,Mysql,我有一个mysql表,其中有两个字段表示它们的关系,如下表所示 +-------+-----------+---------+ |id |家长| id |姓名| +-------+-----------+---------+ |1 |空| A| +-------+-----------+---------+ |2 | 1 | B| +-------+-----------+---------+ |3 | 2 | C| +-------+-----------+---------+ 当我从id
+-------+-----------+---------+
|id |家长| id |姓名|
+-------+-----------+---------+
|1 |空| A|
+-------+-----------+---------+
|2 | 1 | B|
+-------+-----------+---------+
|3 | 2 | C|
+-------+-----------+---------+
当我从id=1的表中选择name时,它会告诉我结果是A,因为A的父id为NULL
当我从id=3的表中选择name时,它最终会告诉我结果是A,因为B是C的父级,A是B的父级
在PHP中,我们可以多次搜索它,直到父\u id为空。但是有没有一个快速的内部循环sql查询来解决这个问题呢 简短的回答是否定的-您不能在简单的SQL中循环。您可以在MySQL中编写一个存储过程,以便在SQL server上本地运行循环,从而不再需要多次往返PHP。以下是描述MySQL上存储过程的文档: 对于循环,您很可能还需要一个光标,如下所述:
您需要的是MySQL 8.0,但它在MySQL 8.0之前不可用。我想您正在寻找MySQL递归。