php - 显示年份+自动增量作为列寄存器

标签 php mysql auto-increment zerofill

我在表 jadwal 上有列寄存器:

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

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

1800001
1800002
1800003

并重置成为 1900001 当年份是 2019

我尝试在mysql上添加Y,例如CREATE TABLE IF NOT EXISTS jadwal(register int(5) Y Zerofill NOT NULL AUTO_INCRMENT,但不起作用

请提供源代码,非常感谢

最佳答案

考虑一下:

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

(或者您可以使用 1900000 并在输入另一个条目后将其删除。)

替代方案有点困惑——它将涉及一个触发器,该触发器查看YEAR(CURDATE())以查看“下一个”id是否需要被提升到该序列的开头。明年。

关于php - 显示年份+自动增量作为列寄存器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52178415/

相关文章:

php - 如何在日期的第一天自动递增并从 1 重新开始?

Java Hibernate AutoIncrement Identity set ID to start 0 mySQL

php - jQuery 自定义模板无法正常工作

php - 转换 UTF8 文本以在 URL 中使用

php - 从 doctrine 中的表中检索所有行

MYSQL UTF 字符混合 ü 与 u

php - 这段 php foreach 代码有什么问题?

mysql - 在 ConnectionFactory.php 行 274 : Class 'Illuminate\Database\MySqlConnection' not found

mysql - 在具有多个 ID 的表中运行 MySQL 查询 ID 之间的相等性

MySQL:使用计算计数器列作为子查询的键