天天看點

每日自增字段mysql_2020-11-05 觸發器實作mysql每日自增字段

文法:

delimiter 自定義結束符号

create trigger 觸發器名字 觸發時間 觸發事件 on 表 for each row

begin

-- 觸發器内容主體,每行用分号結尾

end

自定義的結束符合

delimiter ;

實作一個表biz_leave中ticket_number,每天從YYYYMMDD01開始遞增:

delimiter ##

DROP TRIGGER IF EXISTS generate_ticket_number ##

create trigger generate_ticket_number before insert on biz_leave

for each ROW

BEGIN

declare dt char(8);

declare bh_id char(10);

declare seq int;

declare new_bh varchar(10);

set dt= DATE_FORMAT(CURDATE(),'%Y%m%d');

SELECT

max(ticket_number) into bh_id from biz_leave

where ticket_number like CONCAT(dt,'%');

if bh_id ='' or bh_id is null THEN

set new_bh = concat(dt, '01');

ELSE

set seq = right(bh_id,2) + 1;

set new_bh = right(concat('00',seq),2);

set new_bh = concat(dt, new_bh);

end if;

update biz_leave set ticket_number = new_bh;

end##

delimiter;