时间:2021-07-01 10:21:17 帮助过:51人阅读
DROP TABLE if EXISTS tb;
CREATE TABLE tb(BH CHAR(16),content VARCHAR(20),date
DATETIME,val INT);
CREATE TRIGGER tri_NewBH BEFORE INSERT ON tb
FOR EACH ROW
BEGIN
DECLARE dt CHAR(8)
DECLARE bh_id CHAR(16)
DECLARE number INT(1)
DECLARE new_bh VARCHAR(16)
SET dt = DATE_FORMAT(CURDATE(),'%Y%m%d') SELECT MAX(BH) INTO bh_id FROM tb WHERE BH LIKE CONCAT(dt,'%') IF bh_id = '' OR bh_id IS NULL THEN SET new_bh = CONCAT(dt,'00000001') ELSE SET number = RIGHT(bh_id,8) + 1 SET new_bh = RIGHT(CONCAT('00000000',number),8) SET new_bh=CONCAT(dt,new_bh) END IF SET NEW.BH = new_bh END