自定义自动递增" id"使用php和mysql

时间:2014-03-18 18:19:13

标签: php mysql sql codeigniter

嘿我是php和mysql的新手我试图为我的学生表生成id,我希望我的学生ID就像这样。我的学生id字段是varchar和primary。 $ student id = LA / YYYY / 0001并继续,因为LA是前缀,YYYY是年份,0001是数值,所以我希望id像这样,代码自动递增。(LA / YYYY / 0002 ) 等等 。 谢谢大家的建议。

2 个答案:

答案 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。