首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据mysql中的最后一个条目创建序列号

如何根据mysql中的最后一个条目创建序列号
EN

Stack Overflow用户
提问于 2019-09-26 15:33:19
回答 1查看 671关注 0票数 1

我想要两个创建一个自动序列号作为参考号,我真正想要的是:

一旦生成序列号,它将不再重复,并根据SQL中最后生成的序列号选择下一个序列号,例如,如果我创建了序列号20190926,那么我不想再次生成此序列号,它将自动从20190927开始,因为它已经生成。一旦月份结束,序列号将再次从01开始,如201910001。我尝试了给定的代码,但没有成功

代码语言:javascript
复制
$id = date('Ym').str_pad($n + 1, 3, 0, STR_PAD_LEFT);

它为我提供了当前年份和月份,但每次打开新表单时,它都以201909001开头,我必须再次编辑它

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2019-09-26 16:38:14

要确定您是否在处理给定月份的第一个条目,您将需要在您的数据库表中查询MAX()序列号--让我们将该值称为php变量$max

代码语言:javascript
复制
$Ym = date('Ym');
if (strpos($max, $Ym) === 0) {
    ++$max;
} else {
    $max = $Ym . '001';
}

然后在插入查询中使用新的$max

...and当然,有一个非常真实的问题,那就是“竞争条件”造成的序列号冲突。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58111708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档