with recursive t as (select * from ops_division t1 where t1.division_code ='999' union all select t2.* from ops_division t2 join t on t2.division_code = t.parent_division_code) select * from t
时间: 2024-04-13 19:25:13 浏览: 170
dfs.zip_DFS non recursive_DFS structure_DFS.cpp_Depth-First Sear
根据您提供的 SQL 查询语句,使用 WITH RECURSIVE 进行递归查询,可能会出现一些问题导致报错。以下是一些可能导致报错的原因以及相应的解决方案:
1. MySQL 版本问题:WITH RECURSIVE 在 MySQL 8.0 及以上版本才可用。如果您使用的是较旧的版本,可能会报错。请确保您的 MySQL 版本符合要求。
2. 表名或字段名错误:请确保您在查询中引用的表名和字段名是正确的,并且与数据库中的实际情况匹配。检查表名和字段名的大小写是否正确。
3. 递归查询条件错误:在递归查询中,需要指定递归的终止条件。请确保您在递归查询中正确设置了结束条件,以避免无限递归导致报错。
4. 数据库权限问题:如果您没有足够的权限执行递归查询,可能会报错。请确保您具有执行递归查询所需的权限。
请检查以上可能导致报错的原因,并根据具体情况进行排查和调整。如果您能提供具体的报错信息,我可以更准确地帮助您解决问题。
阅读全文