字段不做特殊声明,下面上方法
//创建一个方法 名字为 getParentIdList
CREATE FUNCTION `getParentIdList`(roleId BIGINT) // 参数可以根据自己的数据类型自定义
//返回值 类型
RETURNS VARCHAR(255)
BEGIN
DECLARE fid BIGINT default 0;
DECLARE str VARCHAR(255) default roleId;
while fid != 1
do
//每次查询出的id 作为下次查询的父id
set fid=(SELECT br.role_parent FROM base_role br WHERE br.role_id= roleId);
IF fid > 0 THEN
SET str=concat(str,',',fid);
SET roleId=fid;
ELSE SET roleId=fid;
END IF;
END WHILE;
return str;
END
//使用函数
select * from base_role where FIND_IN_SET(role_id,getParentIdList(137));