mysql 单号,利用 MySQL 自增列生成订单号
在 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 自增列生成订单号相关推荐
- php 快递单号生成规则,Thinkphp 生成订单号小案例
Thinkphp 生成订单号小案例小伙伴们在日常的商城项目开发中,都会遇到订单号生成的问题,今天呢思梦PHP就带领大家去解读一下生成订单号的问题!首先,订单号我们要明确它有有3个性质:1.唯一性 2. ...
- php根据当天日期生成编号,前台js根据当前时间生成订单号
*********前台显示框**************** **************js代码***************** function GetDateNow() { var vNow ...
- redis生成订单号案例
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.redis的相关工具类 二.生成订单号相关方法 前言 项目开发中遇到了对订单号的修改,这里只是实现了利用redis ...
- Java 生成订单号(唯一id)方案
1.直接使用uuid public static String getUUID() {String replaceUUID = UUID.randomUUID().toString().replace ...
- Java 生成订单号或唯一id(高并发)方案
1.直接使用uuid public static String getUUID() {String replaceUUID = UUID.randomUUID().toString().replace ...
- java 订单号 交易锁_(精)订单加锁及生成订单号
今天看了黎活明老师的 实现订单加锁解锁(也包括生成订单号)功能 的视频,即多人操作(审核等)订单时的如何加锁. 对事务并发又温习了一下.涉及的东西无非是操作系统的多线程引起的并发,这里有个概念就是cp ...
- python生成订单号或生成任意序列
python生成订单号或生成任意序列 示例代码: import time# 生成订单号 def get_order_code():# 年月日时分秒+time.time()的后7位order_no = ...
- php如何生成订单号,php如何生成不重复订单号
php生成不重复订单号的方法:首先可以预先生成订单号:然后进行去重存起来:最后用的时候取一个出来用就行,代码为[$orderNo = date('YmdHis').substr(microtime() ...
- PHP制作订货,PHP生成订单号的两种方法
在开发项目的时候经常有生成订单号的需求,这里列出两种生成20位订单号的常用方法. 方法一: 以下代码是14位当前时间加6位随机数,如果增减位数,只需修改末尾的数字6即可.<?php Functi ...
最新文章
- 桌面虚拟化之资源分配
- android自适应拉伸图片,Android 启动页-解决图片被拉伸和压缩问题,适配虚拟导航栏...
- android 分支管理,Android Studio git使用,包括协同开发,分支管理。
- 实战部署MySQL用户认证的Postfix邮件系统(3)
- 如何用Transformer来做目标检测?一文简述DERT及其变体
- SIGGRAPH 2020 | 基于样例的虚拟摄影和相机控制
- 徐汉字java字符_汉字徐的拼音部首-汉字徐的笔画和解释-汉字徐在线查新华字典...
- dp4--codeVs1043 方格取数
- signature=995eb8e443ef674d51fa76dabc7ac89c,我國7-8歲學童動作協調能力之初探
- Eclipse @override报错解决
- c语言opencv识别颜色并标记,opencv怎么识别图片上带颜色的圆
- 【踩坑日记】python3.9安装paddlepaddle-tiny的时候报错ERROR: Could not find a version
- Fluent残差图中continuity不收敛如何处理
- 【学习笔记】矩阵分解Matrix Factorization及延伸阅读
- Linux gre tunnel 端口,两台Linux通过GRE tunnel的隧道实现互通 — 并且改变其中一台的回程路由...
- 3.5Bootstrap组件篇之导航条
- 九的九次方是多少呢?
- 第十六届智能车稳压模块设计——LOD与DCDC的使用对比
- 2017 ICPC 乌鲁木齐
- MindFlow SEED——由自动驾驶而生的全能高效数据标注平台