社区
MySQL
帖子详情
小弟没弄过mysql,由于时间太紧,现向大侠们,求一个这样的存储过程?
I_am_Z
2012-05-18 03:21:09
问题是这样,有一张链表,2个字段,一个是id,一个是父id,我想写一个存储过程,生成一张临时表得出每个id,完整的上下级字符串路径。
例如:
A表
id id_parent
1 0
2 1
3 1
4 2
5 3
6 4
7 6
8 4
通过查询希望得到数据效果如下:
id id_path
1 0\1
2 1\2
3 1\3
4 1\2\4
5 1\3\5
6 1\2\4\6
7 1\2\4\6\7
8 1\2\4\8
...全文
164
8
打赏
收藏
小弟没弄过mysql,由于时间太紧,现向大侠们,求一个这样的存储过程?
问题是这样,有一张链表,2个字段,一个是id,一个是父id,我想写一个存储过程,生成一张临时表得出每个id,完整的上下级字符串路径。 例如: A表 id id_parent 1 0 2 1 3 1 4 2 5 3 6 4 7 6 8 4 通过查询希望得到数据效果如下: id id_path 1 0\1 2 1\2 3 1\3 4 1\2\4 5 1\3\5 6 1\2\4\6 7 1\2\4\6\7 8 1\2\4\8
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rczjp
2012-05-21
打赏
举报
回复
增大'max_allow_packet' 试试
I_am_Z
2012-05-21
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
你的代码是什么? 应该不需要使用递归。
给出你的 create table , insert into ,create procudure 等语句。
[/Quote]
这是一个实现上下级的链表数据串的一个小需求,如果不用递归,我真想不出还怎么去实现。此时,我已经将个中所有环节出现的疑难问题一一解决。之前设置变量thread_stack值是在控制台设置的,但是应该是设置无效,我感觉是没有效果,也许这个参数不是可以在服务运行时,动态改变的。目前解决的办法是,修改ini文件,就是my.ini,这个文件默认是没有thread_stack这个变量的,我手动新增了这个变量,然后,重启服务,运行过程,完事大吉。网上说了一堆,怎么修改这个值的办法,没有一个是有效的,我了个去。之所以把这个写出来,是为了给再遇到这个问题的难友,一条路,毕竟,我也是冥思苦想好久,才搞定的,新手上路,不容易啊,都是程序员,你懂的。
I_am_Z
2012-05-19
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
引用 3 楼 的回复:
感谢ACMAIN_CHM百忙中给予的回复,可惜,看到您的回帖时,我已经将过程写完了,不过参看您给出的连接,发现,写法上竟然是非常雷同,o(∩_∩)o 哈哈。但是,目前遇到一个新的问题,我在递归时,数据量小的情况下,一切正常,如果递归数据层很深的时候,存储过程就会报下面的错误:
Procedure execution failed
1436 - Thread s……
[/Quote]
这是我的mysql安装目录F:\Program Files\MySQL\MySQL Server 5.1
该目录中只有如下几个ini文件:
my.ini
my-huge.ini
my-innodb-heavy-4G.ini
my-large.ini
my-medium.ini
my-small.ini
my-template.ini
在my-innodb-heavy-4G.ini和my-small.ini中我找到有thread_stack,我都将其设置成1024k,应该够大了。但是好像没有任何效果,重启mysql服务,运行过程还是报相同的错误,这是为什么呢?
ACMAIN_CHM
2012-05-19
打赏
举报
回复
你的代码是什么? 应该不需要使用递归。
给出你的 create table , insert into ,create procudure 等语句。
回南山种豆
2012-05-18
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
感谢ACMAIN_CHM百忙中给予的回复,可惜,看到您的回帖时,我已经将过程写完了,不过参看您给出的连接,发现,写法上竟然是非常雷同,o(∩_∩)o 哈哈。但是,目前遇到一个新的问题,我在递归时,数据量小的情况下,一切正常,如果递归数据层很深的时候,存储过程就会报下面的错误:
Procedure execution failed
1436 - Thread stack overrun: 6……
[/Quote]
mysql.ini中设置
I_am_Z
2012-05-18
打赏
举报
回复
感谢ACMAIN_CHM百忙中给予的回复,可惜,看到您的回帖时,我已经将过程写完了,不过参看您给出的连接,发现,写法上竟然是非常雷同,o(∩_∩)o 哈哈。但是,目前遇到一个新的问题,我在递归时,数据量小的情况下,一切正常,如果递归数据层很深的时候,存储过程就会报下面的错误:
Procedure execution failed
1436 - Thread stack overrun: 69048 bytes used of a 196608 byte stack, and 128000 bytes needed. Use 'mysqld -O thread_stack=#' to specify a bigger stack.
我知道需要调整thread_stack的值,但是我找了很多资料,都没有找到该如何修改这个值。
曾经尝试了如下的做法
mysql> #thread_stack = 512K;
->
-> ;
Query OK, 0 rows affected
感觉上应该是增大了该值,但是,重新运行过程,还是同样的错误,根本没有变化,十分不解,谁给我点提点啊,我这是今天第一次接触mysql啊,毫无经验啊。
ACMAIN_CHM
2012-05-18
打赏
举报
回复
参考手册中的语法和下贴中的例子自己先写一下吧。
http://blog.csdn.net/acmain_chm/article/details/4142971
MySQL中进行树状所有子节点的查询
在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方便的查了所有当前节点下的所有子节点。但很遗憾,在MySQL的目前版本中还没有对应的功能。 在MySQL中如果是有限的层次,比如我们事先如果可以确定这个树的最大深度是4, 那么所有节点为根的树的深度均不会超过4,则我们可以直接通过left join 来实现。 但很多时候我们...
I_am_Z
2012-05-18
打赏
举报
回复
另外,如何在过程中,定义全局变量,我是想在递归的过程中使用,前一层计算的字符串,在递归到下一次时,可以持续累加?
[转]高负载并发网站架构分析
由于自己正在做
一个
高性能大用户量的论坛程序,对高性能高并发服务器架构比较感兴趣,于是在网上收集了不少这方面的资料和大家分享。希望能和大家交流 msn: defender_ios@hotmail.com ——————————————————————————————————————— ? 初创网站与开源软件 6 ? 谈谈大型高负载网站服务器的优化心得! 8 ? Lighttpd+Squid+Apach
高负载高并发网站架构分析
由于自己正在做
一个
高性能大用户量的论坛程序,对高性能高并发服务器架构比较感兴趣,于是在网上收集了不少这方面的资料和大家分享。希望能和大家交流 msn: defender_ios@hotmail.com ——————————————————————————————————————— 初创网站与开源软件 6 谈谈大型高负载网站服务器的优化心得! 8 Lighttpd+S
IT解惑真经
PS:观后大有启发,遂转至本博客,望众博友共进。十分抱歉,由于文字限制,删减了优质学生评论以及部分章节,想看其他内容请去原博客(http://www.cnblogs.com/glaivelee/archive/2010/01/25/1656082.html)或者购买正版书籍。IT学生解惑真经肖舸 杨中科 左飞 著目 录l 大学计算机课程学习路线l ...
IT学生解惑真经(转) (真的好经典!)
生而知之者,孰能无惑?惑而不从师,其为惑也,终不解矣。 --------韩愈《师说》 在校的IT学生有几百万 都在为如何如何学习才能找到工作、融入社会而迷惑 我们需要的不是灵丹妙药 而是一本让你少走几年弯路的 IT学生解惑真经 肖舸 杨中科 左飞 著 这是一部写给在校计算机专业学生的书 如果没有看到这本书 你可能会茫然无措的度...
IT学生解惑真经
非生而知之者,孰能无惑?惑而不从师,其为惑也,终不解矣。 --------韩愈《师说》 在校的IT学生有几百万 都在为如何如何学习才能找到工作、融入社会而迷惑 我们需要的不是灵丹妙药 而是一本让你少走几年弯路的 IT学生解惑真经 肖舸杨中科左飞著 这是一部写给在校计算机专业学生的书 如果没有看到这本书 你可能会茫然无措...
MySQL
56,677
社区成员
56,708
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章