mysql触发器生成流水_利用mysql触发器生成流水号

这篇博客介绍了如何利用MySQL触发器创建一个带有日期和编号的流水号系统。在`orders`表中,每当插入新记录时,触发器会自动生成形如'201007210001'的订单ID,每天编号从0001开始。示例展示了如何定义触发器以及插入数据后的结果。
摘要由CSDN通过智能技术生成

利用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

.

.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值