嘿,我是php和mysql的新手,我试图为我的学生表生成id,我希望我的学生id是这样的。我的学生id字段是varchar和primary。$student id= LA/YYYY/0001继续,因为LA是前缀,YYYY是年份,0001是数值,所以我希望id是这样的,代码是自动递增的。(LA/YYYY/0002)等等。谢谢大家的建议。
与其写一些过于复杂的东西来自定义自增ID,为什么不依赖MySQL的自增INT呢?然后,您可以使用单独的列而不是组合列来显示额外的详细信息。在代码中,您可以将这些列连接到一个输出中。
的例子:
id | prefix | year | first_name | last_name
-------------------------------------------
1 LA 2014 Half Crazed
2 FR 2015 Jon Doe
然后,在您的应用程序(或SQL)中:
SELECT CONCAT(prefix, '/', year, '/', LPAD(id, 4, '0')) AS uuid
(注意:未测试,仅用于演示)
如果您绝对需要使用自动递增(对于每条记录),您可以使用组合键作为ID。
所以你的表将有两个字段贡献键:1. Id(自动递增的整数)2. 前缀(格式为LA/YYYY)
您可以将两者连接以生成您要查找的id。