2014-03-18 50 views
0

嘿我是新手到PHP和MySQL我試圖爲我的學生表生成ID,我想我的學生ID是這樣的。我的學生id字段是varchar以及primary。 $ student id = LA/YYYY/0001繼續以LA作爲前綴,YYYY是年份,0001是數字值,所以我希望id是這樣的,代碼是自動遞增的(LA/YYYY/0002)等。 謝謝大家的建議。自定義自動遞增「ID」使用PHP和MySQL

回答

1

爲了不用寫太複雜的東西來定製自動遞增的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 

(注:未經測試,演示只)

0

如果您絕對需要使用自動遞增(對於每條記錄),您可以使用組合鍵作爲ID。

所以,你的表有兩個字段有助於鍵: 1. ID(自動遞增的整數) 2.前綴(VARCHAR與格式LA/YYYY)

您可以連接兩個產生ID你正在尋找。