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 @ 2022-07-16 13:52  深山藏古客  阅读(135)  评论(0编辑  收藏  举报