mysql如何增加序列号

标签 mysql sql

我在 MySql 中有存储过程,用户将传递一个数字,例如'cr002149' 现在我想将 select 语句中每条记录的数字增加 1。我该怎么做才能让数字变成例如cr002150,cr002151...

谢谢。

最佳答案

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

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

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

关于mysql如何增加序列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18071534/

相关文章:

php - 我无法使用 php 将文本上传到 Mysql

sql - 如何使用最新备份更新我的本地 SQL Server 数据库?

mysql - 嵌套选择查询语法不一致

sql - 如何列出 Informix 中的所有存储过程?

php - 如何在mysql中对所有结果求和

php - mysqli 准备阵列?

mysql - 在 phpmyadmin 中单击表时发生错误

mysql - 将其他字段添加到 IF 语句中的字符串

sql - 如何在Oracle中获取每个组的最大值?

mysql - 当您不能依赖 ID 按字面顺序排列时,如何批处理 SELECT 语句?