mysql 递归查询

复制代码
select *from k_type where FIND_IN_SET(pid,get_child_list('10'));

-- GROUP_CONCAT(id)

delimiter $$ 
-- drop function if exists get_child_list$$ 
create function get_child_list(in_id varchar(10)) returns varchar(1000) 
begin 
declare ids varchar(1000) default ''; 
declare tempids varchar(1000); 

set tempids = in_id; 
while tempids is not null do 
set ids = CONCAT_WS(',',ids,tempids); 
select GROUP_CONCAT(id) into tempids from k_type where FIND_IN_SET(pid,tempids)>0; 
end while; 
return ids; 
end 
$$ 
delimiter ;


-- 如果出现错误就执行
set global log_bin_trust_function_creators=TRUE;
复制代码

简单记录 首先最开始是查询的语句 下面是一个函数方法 执行后会生成 当我们执行的时候出现错误要修改参数  下面set是临时修改配置

 

    1. 在mysql数据库中执行以下语句 (临时生效,重启后失效)
      set global log_bin_trust_function_creators=TRUE;

    2. 在配置文件/etc/my.cnf的[mysqld]配置log_bin_trust_function_creators=1  

posted @   热心居民  阅读(235)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示