使用php撰寫程式的人,最常使用的資料庫應該是MySQL,MySQL本身已經有提供自動取號的功能,不過在某些狀況上可能並不適用,而已也有些資料庫並沒有提供自動給號的功能的。
自動取號,主要用在key值的產生,可以得到唯一的編號,而這個編號是有一定規則的,像是(檔頭+年份+流水號)之類的,用來識別此筆資料,而產生這個編號有很多種方式,如:
- 資料庫本身提供此功能,ex:mysql的Auto Increment
- 利用一個Table存放目前編號,再使用stored procedure或是程資語言來取號
- 其它…
之前有寫過一個Oracle Store procedure的取號程式,而這次提供利用php程式來取得編號,取號的原則有幾個來確保取號不會錯誤:
- 取號後,不管有無使用,則此編號已不會再產生
- 要使用transaction功能來取號及存入取到號碼(此範例並未用到交易)
這個範列的結果