素材牛VIP会员
大概问一下mysql存储过程线程安全的问题?
 zh***ao  分类:SQL代码  人气:1444  回帖:1  发布于6年前 收藏

昨天线上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了,收到反馈之后,又把过程模拟了一次,却可以正常运行,实在不知道是哪个地方出了问题,先谢谢了。

 标签:线程安全mysql

讨论这个帖子(1)垃圾回帖将一律封号处理……

Lv6 码匠
阿***灯 页面重构设计 6年前#1
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取