嘿我是php和mysql的新手我试图为我的学生表生成id,我希望我的学生ID就像这样。我的学生id字段是varchar和primary。 $ student id = LA / YYYY / 0001并继续,因为LA是前缀,YYYY是年份,0001是数值,所以我希望id像这样,代码自动递增。(LA / YYYY / 0002 ) 等等 。 谢谢大家的建议。
答案 0 :(得分:1)
为什么不依靠MySQL的自动增量INT来代替编写过于复杂的东西以获得自定义自动递增的ID?然后,您可以使用单独的列而不是复合列来获取其他详细信息。在您的代码中,您可以将列连接成一个输出。
示例:
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
(注意:未经测试,仅供演示)
答案 1 :(得分:0)
如果您绝对需要使用自动递增(对于每个记录),您可以使用复合键作为ID。
因此,您的表将有两个对该键有贡献的字段: 1. id(自动递增的整数) 2.前缀(varchar格式为LA / YYYY)
您可以连接两者以生成您要查找的ID。