如何设计表并实现以日期年份、月份和自增序号组合成编号作为主键?

发布于 2022-09-01 05:12:51 字数 190 浏览 29 评论 0

编号示例例如:2015010001 2015010002 ....
2015020001 2015020002 ....
要求:表结构中主键字段ID存储该序号,每隔个月序号将从1重新计数。

直接取id最大,可能会出现并发产生相同的编号,效率不高。
请问各位大神有什么好方法?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

转身泪倾城 2022-09-08 05:12:51

我的做法是用2个表实现的,另外一个表存储月份的数量,如新增一条记录是往这个表插入一个201501,在插入主表数据时读取月份表中201501的数量然后+1,在和月份组合成新的ID,就会201502001、201502002、201502003、201503001这样了,方法有点笨

鼻尖触碰 2022-09-08 05:12:51

主键设为自增 输出当前编号时 用当前id减去上月最后一个的id

属性 2022-09-08 05:12:51

这样设计的意义是什么?

数据库的数据应该最好是未经处理的,然后在model层封装你要的结果。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文