2013-05-26 112 views
0

我創建兩個表:代碼和子代碼。每個代碼可以有幾個子代碼。我想用字母(例如100A,100B,100C)標記帶有數字和子碼的代碼。 MySQL如何在類似於使用自動增量的情況下完成?MySQL自動增量字符字段

+0

當u得到到Z – Drew

+0

使用兩個以上字符會發生什麼。 Z,AA,AB,AC,... AZ,BA,BB,BC – mixm

回答

0

自動增量欄必須是整數。

實現你想要的東西的一種方法是使用16位的列代碼,其他16位的子代碼。

MySQL將看到一個普通的整數,並且能夠增加它。

function decode($id) { 
    $code = ($id >> 16) & 0xFFFF; 
    $subcode = convert_base($id & 0xFFFF); 
} 

function encode($code, $subcode) { 
    return ($code << 16) | convert_base($subcode); 
} 

(帶convert_base功能編碼使用A-Z數)