2013-05-12 55 views
0

我有一個數據庫,其中自動生成序列字段可用,但在我有一個區域明智的序列問題的字段內。Mysql表序列生成

像數據

SL Regional SL 
1 DHK-1 
2 KHL-1 
3 CTG-1 
4 DHK-2 
5 CTG-2 
6 DHK-3 
7 KHL-2 
8 KHL-3 
9 KHL-4 

所以,當我將添加一個新的領域我主要的序列號是「10」,但是當我想補充的地方串行即我選擇KHL的話,我想下一個序列號會自動設置爲KHL-5,或者如果我選擇DHK,那麼自動序列號將是DHK-4,它將是基於地區代碼的最後一個數字。

我想維護一個表來存儲數據庫。我知道它更容易拆分基於區域的數據庫,但我想保留一個單一的數據庫。

Regards

回答

1

你在找這樣的嗎?

INSERT INTO serials (rsl) 
SELECT CONCAT(LEFT(MAX(rsl),4), SUBSTRING_INDEX(MAX(rsl), '-', -1) + 1) 
    FROM serials 
WHERE LEFT(rsl,3) = 'KHL'; 

SQLFiddle