2013-05-12 82 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