社区
MySQL
帖子详情
MYSQL生成日期+序号的流水号
PQianbei
2014-09-13 09:47:42
根据当前日期自动生成递增的productID:
20140913001
20140913002
20140914001
按照论坛上另外一个帖子上写的触发器:
set new.productID=CONCAT(DATE_FORMAT(CURDATE(),'%Y%m%d'),RIGHT(CONCAT('00',LAST_INSERT_ID()+1),3))
但是每次都生成的是20140913001
请问该作何修改。
表结构如下:
...全文
2551
6
打赏
收藏
MYSQL生成日期+序号的流水号
根据当前日期自动生成递增的productID: 20140913001 20140913002 20140914001 按照论坛上另外一个帖子上写的触发器: set new.productID=CONCAT(DATE_FORMAT(CURDATE(),'%Y%m%d'),RIGHT(CONCAT('00',LAST_INSERT_ID()+1),3)) 但是每次都生成的是20140913001 请问该作何修改。 表结构如下:
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
梓羿
2014-10-08
打赏
举报
回复
同求这个问题,字符+年月+后四位自增流水号如: ABC14100001 ABC14100002 ABC14100003 这种如何实现呢? concat('ABC','date_format(now(),'%y-%m')','0001');
chengchow2001
2014-09-28
打赏
举报
回复
LZ这做法行不通的,这么做需要每执行次insert之前都运行下set ...
PQianbei
2014-09-13
打赏
举报
回复
貌似还是不行呢。请看看
trainee
2014-09-13
打赏
举报
回复
不能照搬别人的语句啊。 last_insert_id() 是返回当前进程中最近的一条插入语句 (表中自增性字段的值)。 如果当前进程没有插入动作, 或者插入的表没有自增性字段,last_insert_id()返回0 用此方法, 是无法保证从001开始, 也无法保证中间能连续。 保险点,自行写存储过程,大概流程如下 start transaction SELECT max(PRODUCTID) FROM XXX WHERE PROCDICID LIKE ‘20140913%’
FOR UPDATE
如果 没有记录 为 001 否则 +1 ..... commit
ACMAIN_CHM
2014-09-13
打赏
举报
回复
用
日期+自动编号
定义为主键。 create table x ( d date, no int auto_increment, primary key(d,no)
ACMAIN_CHM
2014-09-13
打赏
举报
回复
引用 3 楼 jaredlong 的回复:
貌似还是不行呢。请看看
结果什么产?插入几条试试。
企业级
MySQL
系列教程-贯穿课程讲解
MySQL
性能优化+原理+实战
大家好,我是录制课程的老师,课程已经上线课堂,欢迎大家试听,感谢同学们的支持。在你们的学习中我会全力助你提升
MySQL
技能,助你冲击更高年薪。支持课程答疑,支持一对一答疑服务,由课程老师直接回答。
MySQL
凭借着它不错的性能、不错的稳定性、数据的安全性常年稳居行业老二宝座。 越来越多的DBA和后端同学在工作中少不了和
MySQL
打交道,也经常会产生这样的疑问: 为什么我写的sql语句性能这么低? 为什么明明我建了索引却没有用到索引? 为什么突然我的数据就成了乱码? 为什么我备份的文件在主库恢复,数据无法同步到从库? 为什么我的数据库数据不多,却占了很多的空间? 生产中我应该选择哪种隔离级别? 生产中都在使用innodb存储引擎,我却对它一无所知? 我应该怎么规划缓冲池才能让数据库性能更高? 为什么我做表数据迁移这么慢? 为什么我写的sql会造成那么多的锁冲突、死锁? 为什么我不能将数据恢复到任意时间点? 为什么我不能解决公司主从复制架构中的故障? 吧啦吧啦一大堆问题…… 在面试中
MySQL
的一些知识更成为躲不过的问题,比如b+tree索引、MVCC、隔离级别的实现、锁的使用,主从复制,
MySQL
性能优化、事务两阶段提交等等都成为了面试考题重灾区。 我的课程就是从实际工作来,从问题出发,带着问题来学习
MySQL
,想解决问题就要学习新的知识,大家跟紧老司机,
MySQL
的面纱就会慢慢摘下。
mysql
生成
四位数_
生成
流水号
,格式:
日期
+4位自增长,201607210001
oracle sequence的用法1、首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限CREATESEQUENCE seqTestINCREMENTBY1--每次加几个STARTWITH1--从1开始计数NOMAXvalue--不设置最大值NOCYCLE--一直累加,不循环CACHE10;--设置缓存cache个序列,如果系统do...
Java
生成
年月日 +
流水号
编码
Java
生成
"年月日"+
流水号
private final static String FORMAT_CODE = "0000"; private final static String PRE_CODE = "BM"; @Test public void FormatCode() { int count = 1; //
流水号
DecimalFormat dft = new DecimalFormat(FORMAT_CODE); St
java根据年月日+
流水号
,递增
生成
java根据年月日+
流水号
,递增
生成
MySQL
生成
自增的
流水号
MysSQL
生成
指定
流水号
MySQL
56,679
社区成员
56,709
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章