您的位置:首页 > 数据库 > MySQL

利用mysql触发器生成流水号

2012-11-12 14:37 435 查看
http://blog.csdn.net/bluestream/article/details/5755176

利用mysql触发器可以生成如日期(20100721)+编号(0001)的流水号,编号每天都会从0001开始计算

 

create table orders(orders_id int(10) primary key,customer_name varchar(100) );

----------------------------------------------------------------------------------------------------------

 

CREATE TRIGGER tr_orders_id BEFORE INSERT ON orders

FOR EACH ROW BEGIN

declare n int;

select IFNULL(max(right(orders_id,4)),0) into n from orderswhere mid(orders_id,1,8)=DATE_FORMAT(CURDATE(),'%Y%m%d');

set NEW.orders_id=concat(DATE_FORMAT(CURDATE(),'%Y%m%d'),right(10001+n,4));

END;

 

----------------------------------------------------------------------------

insert into test(customer_name) value('jack');

insert into test(customer_name) value('jason');

-----------------------------------------------------------------------------

 

orders_id                customer_name

201007210001                jack

201007210002                jason

.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: