首页 > 解决方案 > 将年份 + 自动递增显示为列寄存器

问题描述

我在 jadwal 表上有列寄存器:

CREATE TABLE IF NOT EXISTS 'jadwal' ('register' int(5) zerofill NOT NULL AUTO_INCREMENT, PRIMARY KEY ('register')

我想显示寄存器组合,今年 + auto_increment 像:

1800001
1800002
1800003

当年份为 2019 时,重置为 1900001

我尝试在 mysql 上添加 Y,例如 CREATE TABLE IF NOT EXISTS jadwal(寄存器 int(5) Y zerofill NOT NULL AUTO_INCREMENT,但不工作

请帮助源代码,非常感谢

标签: phpmysqlauto-incrementzerofill

解决方案


考虑一下:

  • 利用MEDIUMINT UNSIGNED
  • 在每年 1 月 1 日午夜插入一个虚假条目。使用值 1900001 表示 2019 年初。

(或者您可以在输入另一个条目1900000使用和删除它。)

替代方案有点混乱——它将涉及一个触发器,YEAR(CURDATE())用于查看是否需要将“下一个”id 提高到明年年初。


推荐阅读