大概问一下mysql存储过程线程安全的问题?
昨天线上mysql存储过程出现一个bug,出现问题的代码如下:
begin
declare v_count int;
declare v_balance int;
declare amount int;
declare v_pay_status varchar(50);
declare v_ssoid varchar(20);
declare v_reacharge_type varchar(20);
select count(*) into v_count from rechargeinfo ri where ri.rechargeorder=p_partner_order;
START TRANSACTION;
if v_count > 0 then
/*do something*/
else
/*do something else*/
endif;
首先,能确定的是传入的 p_partner_order
这个参数的值已经在数据库中存在了,但是执行这个存储过程的时候,直接跑到else
里面,也就是do something else
了,收到反馈之后,又把过程模拟了一次,却可以正常运行,实在不知道是哪个地方出了问题,先谢谢了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论