MySQL实现订单号的自动生成(mysql订单号生成)
MySQL实现订单号的自动生成是企业管理信息系统中一种常用的操作,但很多人发现MySQL没有提供直接实现订单号自动生成的方法,本文分享一种基于MySQL的订单号自动生成方式,供大家参考学习。
MySQL中的uuid()函数可以生成订单号,但不具有递增性,而且生成的订单号太长,不易于记忆,因此不适合作为订单号使用,于是我们想到了另一种方式——MySQL中的trigger机制。
首先,在MySQL数据库中创建一个trigger:
“`SQL
DELIMITER $$
CREATE TRIGGER order_number BEFORE INSERT ON order_table
FOR EACH ROW
BEGIN
SET NEW.order_no = CONCAT(‘ORDER’,DATE_FORMAT(NOW(),’%Y%m%d’),LPAD(LAST_INSERT_ID(),9,’0′));
END;
$$
DELIMITER ;
上面的trigger每次向order_table插入数据时,都会生成一个订单号,触发该trigger时,会自动根据当前的日期和最后插入的id的值来生成订单号,效果如下:
ORDER20201231000000010
这样生成的订单号不仅短小精悍,而且具有递增性,每次新增订单时,MySQL数据库都会自动产生一个独一无二的订单号,而不用具体人工操作,方便了企业对订单管理的操作。
总之,基于MySQL数据库,可以利用Trigger机制实现订单号自动生成,具有简单易用、可维护性强等特点。