mysql增量值,MySQL自动增量自定义值

我正在尝试在mysql数据库中创建一列,该列自动递增1但从0-Z开始然后滚动.

例如

000、001、002,…,009、00A,00B,…,00Z,010,…,0ZZ,…,100.

我想让数据库通过自动递增字段创建列.

我的想法是:

>为从0到36的每个字符创建一列,然后将行N(其中N是最低有效数字)自动递增1.然后在每列上添加触发器,以在第N列达到时向N-1列添加1 36.

>创建一个包含36行的表,其中每行包含一个0-Z字符,并使用与上面类似的进位逻辑从表中提取适当的字符

>创建存储过程以执行第1项中的适当逻辑

>让实际程序生成一个值并将其插入表中

>具有常规的自动递增值并计算序列中的下一个值(这是最不理想的,因为它使得仅查看数据库的人员难以解析)

我希望有一种优雅的方法,可以让我做到这一点,就像内置的机制那样,我只是不知道.我对存储过程/触发器不了解,因此非常感谢您的帮助.我认为最简单的方法是为字符提供查找表,并在到达第36行时将其重置为0,然后对第N-1行进行进位.

解决方法:

根据您的评论,我的建议是执行以下操作:

使用常规整数auto_increment列作为该行的主键,然后使用varchar类型的列或* text类型之一(取决于您的mysql服务器版本和数据存储要求)来存储客户的“标识符”用途.

可以使用触发器自动生成标识符.

如果您要基于标识符进行查找(即,也许用户输入标识符以“跳转到”记录),则需要在该列上建立索引.

标签:indexing,database-design,auto-increment,mysql,database

来源: https://codeday.me/bug/20191102/1994547.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值