阅读背景:

mysql实现唯一序列号

来源:互联网 

需要用到事务处理和存储过程。

不具备这方面基础的,要看一眼。一眼就可以。

delimiter //
create procedure dede(in p_in int)
begin
     declare v_cnt int;
declare v_timestr int;
declare rowcount bigint;
set v_timestr = DATE_FORMAT(NOW(),'%Y%m%d');
select round(rand()*100,0)+1 into v_cnt;
start transaction;
 update order_seq set order_sn = order_sn+v_cnt where timestr=v_timestr;
 IF ROW_COUNT()=0 THEN
 	INSERT INTO order_seq(timestr, order_sn)values(v_timestr, v_cnt);
 END IF;
 	SELECT CONCAT(v_timestr, LPAD(order_sn,7,0)) AS order_sn
 		FROM order_seq WHERE timestr=v_timestr;
 COMMIT;
end;
//
delimiter ;

create table order_seq(TIMEstr int, order_sn int)delimi



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: