Mysql如何增加序列号

时间:2013-08-06 03:51:20

标签: mysql sql

我在MySql中存储过程,用户将传入一个例如'cr002149' 现在我想为select statment中的每条记录增加1。我该怎么做才能让号码变成例如cr002150,cr002151 ...

感谢。

1 个答案:

答案 0 :(得分:3)

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

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

上述内容将返回cr002150。首先,我们使用002149获取SUBSTRING,然后将字符串002149强制转换为整数并获取2149。现在,我们将其递增以获得2150,然后将其左边填充为0以获得002150,最后我们在左侧连接cr