首页 > 大概问一下mysql存储过程线程安全的问题?

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

【热门文章】
【热门文章】