2013-08-06 57 views
0

我在MySql中存储了一个存储过程,该用户将传入一个数字,例如'cr002149' 现在我想在选择的语句中将每个记录的数字增加1。我该怎么做才能让号码变成cr002150,cr002151 ...Mysql如何增加序列号

谢谢。

+1

将cr保持总是相同的 – iJade

+0

你尝试过什么吗? –

回答

3

你应该重新考虑你的数据结构,你可能会得到更好的运气,只需使用auto_increment'd整数。无论哪种方式,这应该做的。

CONCAT('cr', 
    LPAD(
    CAST(
     SUBSTRING('cr002149',3) AS DECIMAL(0) 
    )+1, 
    6,'0' 
) 
); 

以上将返回cr002150。首先,我们使用SUBSTRING获得002149,然后将字符串002149转换为整数并获得2149。现在,我们增加这个来得到2150,然后用0填充它得到002150,最后我们连接左边的cr