在 MySQL 里创建一个带有自增列的表,使用 MEMORY ENGINE 存储即可。

利用时间生成字符串,后面再加上自增列生成的数字,根据业务容量仅取最后几位,示例代码仅取后4位。

namespace app\api\service;

/**

* CREATE TABLE IF NOT EXISTS `order_id_seq` (

* id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,

* PRIMARY KEY (`id`)

* ) ENGINE=MEMORY AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;

*/

class OrderIdService {

/**

* Returns next order ID.

*

* @return string

*/

public function nextId() {

$seq = $this->nextSeq();

$id = date('YmdHis') . sprintf('%04d', $seq % 10000);

return $id;

}

/**

* Returns next sequence number.

*

* @return number

*/

private function nextSeq() {

$db = \think\Db::connect('db_platform');

$seq = $db->table('order_id_seq')->insertGetId(['id' => 0]);

$db->table('order_id_seq')->where('id', $seq)->delete();

return $seq;

}

}

mysql 单号,利用 MySQL 自增列生成订单号相关推荐

  1. php 快递单号生成规则,Thinkphp 生成订单号小案例

    Thinkphp 生成订单号小案例小伙伴们在日常的商城项目开发中,都会遇到订单号生成的问题,今天呢思梦PHP就带领大家去解读一下生成订单号的问题!首先,订单号我们要明确它有有3个性质:1.唯一性 2. ...

  2. php根据当天日期生成编号,前台js根据当前时间生成订单号

    *********前台显示框**************** **************js代码***************** function GetDateNow() { var vNow ...

  3. redis生成订单号案例

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.redis的相关工具类 二.生成订单号相关方法 前言 项目开发中遇到了对订单号的修改,这里只是实现了利用redis ...

  4. Java 生成订单号(唯一id)方案

    1.直接使用uuid public static String getUUID() {String replaceUUID = UUID.randomUUID().toString().replace ...

  5. Java 生成订单号或唯一id(高并发)方案

    1.直接使用uuid public static String getUUID() {String replaceUUID = UUID.randomUUID().toString().replace ...

  6. java 订单号 交易锁_(精)订单加锁及生成订单号

    今天看了黎活明老师的 实现订单加锁解锁(也包括生成订单号)功能 的视频,即多人操作(审核等)订单时的如何加锁. 对事务并发又温习了一下.涉及的东西无非是操作系统的多线程引起的并发,这里有个概念就是cp ...

  7. python生成订单号或生成任意序列

    python生成订单号或生成任意序列 示例代码: import time# 生成订单号 def get_order_code():# 年月日时分秒+time.time()的后7位order_no = ...

  8. php如何生成订单号,php如何生成不重复订单号

    php生成不重复订单号的方法:首先可以预先生成订单号:然后进行去重存起来:最后用的时候取一个出来用就行,代码为[$orderNo = date('YmdHis').substr(microtime() ...

  9. PHP制作订货,PHP生成订单号的两种方法

    在开发项目的时候经常有生成订单号的需求,这里列出两种生成20位订单号的常用方法. 方法一: 以下代码是14位当前时间加6位随机数,如果增减位数,只需修改末尾的数字6即可.<?php Functi ...

最新文章

  1. 桌面虚拟化之资源分配
  2. android自适应拉伸图片,Android 启动页-解决图片被拉伸和压缩问题,适配虚拟导航栏...
  3. android 分支管理,Android Studio git使用,包括协同开发,分支管理。
  4. 实战部署MySQL用户认证的Postfix邮件系统(3)
  5. 如何用Transformer来做目标检测?一文简述DERT及其变体
  6. SIGGRAPH 2020 | 基于样例的虚拟摄影和相机控制
  7. 徐汉字java字符_汉字徐的拼音部首-汉字徐的笔画和解释-汉字徐在线查新华字典...
  8. dp4--codeVs1043 方格取数
  9. signature=995eb8e443ef674d51fa76dabc7ac89c,我國7-8歲學童動作協調能力之初探
  10. Eclipse @override报错解决
  11. c语言opencv识别颜色并标记,opencv怎么识别图片上带颜色的圆
  12. 【踩坑日记】python3.9安装paddlepaddle-tiny的时候报错ERROR: Could not find a version
  13. Fluent残差图中continuity不收敛如何处理
  14. 【学习笔记】矩阵分解Matrix Factorization及延伸阅读
  15. Linux gre tunnel 端口,两台Linux通过GRE tunnel的隧道实现互通 — 并且改变其中一台的回程路由...
  16. 3.5Bootstrap组件篇之导航条
  17. 九的九次方是多少呢?
  18. 第十六届智能车稳压模块设计——LOD与DCDC的使用对比
  19. 2017 ICPC 乌鲁木齐
  20. MindFlow SEED——由自动驾驶而生的全能高效数据标注平台

热门文章

  1. 树莓派400键盘计算机发布!全新的电路板布局,更快,更酷!
  2. 专用计算机系统是,计算机系统是什么
  3. 基于WOA-SVM算法的乳腺肿瘤识别算法的MATLAB仿真
  4. Monte Carlo仿真方法的基本思想及其特点
  5. C++类的定义和声明
  6. 五天带你学完《计算机网络》·第二天·数据链路层
  7. 子组件获取父组件的值,将这个值作为状态值保存
  8. 【技术短文】基于深度负相关学习的人群计数方法
  9. 新书发布《每天5分钟玩转Docker容器技术》
  10. 电脑svchost进程占用内存