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机制实现订单号自动生成,具有简单易用、可维护性强等特点。

数据运维技术 » MySQL实现订单号的自动生成(mysql订单号生成)