MySQL 存储过程执行结果与非存储过程执行的结果不一样

代码:存储过程中

set id_pds =(select count(user_id) from sys_user_role 
 where user_id=user_id_bl and role_id=bl_juese);
select CONCAT(id_pds,'|',user_id_bl,'|',bl_juese); 

结果:

 

代码:外部查询

select count(user_id) from sys_user_role where user_id=123 and role_id=101

结果:

 

 

花了两个小时,才解决原来,改:

set id_pds =(select count(s.user_id) from sys_user_role  as s 
where s.user_id=user_id_bl and s.role_id=bl_juese);

 

原来我在上面声明了user_id 与查询的冲突了

 

 

 

 

如果你觉得这篇内容对你挺有启发,我想邀请你帮我三个忙,让更多的人看到这篇文章:
1、点赞,可以让更多的人看到这篇文章
2、关注我的微信公众号,第一时间阅读我的文章。

3、也欢迎关注我的博客哦

posted @   深山藏古客  阅读(163)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示