MySQL生成自增的流水号
生成MySQL流水号
- 生成MySQL流水号
- concat函数
- concat的用法
- 日期相关函数
- now()获取当前日期
- date_format(日期,指定格式) 格式化日期
- lpad(需填充字符,填充后长度,填充字符串)
生成MySQL流水号
MysSQL生成指定编号
假如我们要生成 类似于 ABCD日期序号 比如
我的购物订单号:SP20211201001,并且以后四位自增,类似于这样的场景,该怎么实现呢?
首先我们分析序号,SP为固定字符,20211201为日期,后面为序号。那么我们要做的第一件事是拼接这三段字符。MySQL中的拼接函数还记得吗?
concat函数
concat的用法
比如
select concat('A', 'B', 'C');
日期相关函数
now()获取当前日期
获取当前日期,用法:
select now();
date_format(日期,指定格式) 格式化日期
格式化日期,用于指定查到的日期格式,比如我们流水号中的年月日,比如:
select date_format(now() , '%Y%m%d');
结果是:
lpad(需填充字符,填充后长度,填充字符串)
select lpad('A' , 4 , 0);
结果
那么现在结果很明显了,我们只需要拼接组合一下即可。
select concat('SP',date_format(now(),'%Y%m%d') , lpad('1' , 4 , 0));
如果需要实现后四位序号自增,该怎么实现?
我们可以先获取购物编号的后四位,+1。
然后再执行插入操作。
找出最大序号:
select concat('SP',date_format(now(),'%Y%m%d') , lpad(max(right(shoppingNum , 4)) + 1 , 4 , 0)) from mytest m
然后再insert即可
insert into mytest values(3,now(), (select concat('SP',date_format(now(),'%Y%m%d') , lpad(max(right(shoppingNum , 4)) + 1 , 4 , 0)) from mytest ));
MySQL生成自增的流水号相关推荐
- mysql 生成流水号 存储过程 订单编号
用存储过程生成流水号是很常用的,这里以生成订单编号的流水号作为示例.(新的一天的流水号从1开始,如:今天的订单编号是CD2013010900014,下一个订单编号将是CD2013010900015:明 ...
- java生成自增流水号,并从每月第一天重新清零计数将业务流水号添加到数据库(原创)...
如果你不想在数据库操作的话,这里有个方法可以一试,直接上代码: package com.seawin.common.util.convert;import java.text.DecimalForma ...
- MySQL 使用自增ID主键和UUID 作为主键的优劣比較具体过程(从百万到千万表记录測试)...
測试缘由 一个开发同事做了一个框架.里面主键是uuid.我跟他建议说mysql不要用uuid用自增主键,自增主键效率高,他说不一定高,我说innodb的索引特性导致了自增id做主键是效率最好的,为了拿 ...
- Mysql生成连续时间段记录
需求说明 基于某个起始日期值,比如'2021-9-1',生成其之后的30天数据,结果类似: 2021-09-02.2021-09-03.2021-09-04... 问题分析 该需要看似简单,但想不借助 ...
- mysql qt自增_mysql自增设置
MySQL设置自增字段的相关语句: alter table album change ALBUM_ID ALBUM_ID bigint not null auto_increment; alter t ...
- molicode生成vue增删改查功能
2019独角兽企业重金招聘Python工程师标准>>> molicode生成vue增删改查功能 背景描述 当前生成的页面主要应用于VUE前端UI框架 iview: https://i ...
- MySQL表的增删改查--你都知道吗?
文章目录 CRUD 查询 修改 删除 数据库约束 数据库的设计 插入查询的数据 聚合查询 分组查询 联合查询/多表查询(重点) 内连接与外连接 子查询 合并查询 注释:在SQL中使用 --(空格) + ...
- MySQL设置自增初始值和步长
我这里使用的为Navicat: (一般设置特殊的自增值和自增步长是为了:当数据出现错乱时,我们需要将备份的数据和线上的数据进行比对时使用.) 我们可以通过:SHOW VARIABLES LIKE 'a ...
- MySQL生成百万条数据超详细步骤
本篇文章是关于MySQL生成百万条数据的全部过程,每一步都有具体的sql,并且每一步都有具体的注释,详细步骤如下: 1.创建数据库 CREATE DATABASE `test_bai` -- 创建数据 ...
最新文章
- 编写java程序的常见问题_Java程序的编写与执行、Java新手常见的问题解决
- DBUtils使用详解
- 网络摄像头 登录绕过 RCE漏洞 数据分析报告
- desc excel 公式_Excel小技巧之Power Pivot Generate函数、高级DAX函数与常用筛选器函数...
- .NET中书写XML的一种简单方法
- linux环境内核调试软件,Linux内核调试环境的搭建(使用qemu)
- 搭载「光线追踪」技术的次时代主机会有怎样的画面表现?
- list.action.php,doAction.php里代码可以这样写,大大减少了重复的代码
- w3cschool php 调整图片尺寸,PHP_php修改上传图片尺寸的方法,本文实例讲述了php修改上传图 - phpStudy...
- asp.net返回值当文件下载问题
- python里 t_python中的“.T”操作
- 过滤SQL关键字 防注入
- 阿里云何勉:如何定义团队的研发效能?
- 微型计算机原理及应用实验报告清零实验,北京科技大学微机原理及应用实验报告.docx...
- 解决ubuntu下微信不能发图片的问题。
- licecap免费+轻量+使用简单的录屏制作gif工具
- iOS UILable换行相关设置
- mysql时间段重叠_MySQL - 如何选择'DISTINCT'重叠时段(日期或数字范围)
- 地理坐标系、投影坐标系详解
- catia如何将曲面加厚变为实体_catia中如何将封闭曲面做成实体?
热门文章
- 从这里,开始屌丝的逆袭
- 鉴于B站的代码粘贴没有全选功能,up在这里放上软件小妹的脚本代码
- Dynamics CRM 中 Xrm.Page.getControl('name').getValue() 和 Xrm.Page.getAttribute('name').getValue() 的区别
- echarts pie饼图既显示内部又显示外部指示线
- hive-5(窗口函数)
- 使用iVMS-4200 存储录像数据时的设置
- RabbitMQ(6)-Spring AMQP,Spring集成RabbitMQ
- 全世界公认最美的经典爱情句子
- 新华三交换机密码重置
- 本地配置多个 Git 账户信息,满足不同的 Git 平台