我想在自动递增1的mysql数据库中创建一列,但是从0-Z开始,然后滚动。MySQL自动递增自定义值
例如 000,001,002,...,009,00A,00B,...... 00Z,010,...,0ZZ,...,100
我想让数据库通过自动递增字段创建列。
的想法,我已经是:
- 创建从0-36进入每个字符列,则自动增加排N(其中N是最显著数字)1。然后添加一个触发器在列N到达36时在每列上添加1到列N-1。
- 创建一个包含36行的表,其中每行包含一个字符0-Z,并从表中采用类似进位逻辑从表中拉出相应的字符
- 创建存储过程以根据项目1执行适当的逻辑
- 让实际程序生成一个值并将其插入表中
- 有一个常规的自动递增值并计算序列中的下一个值(这是最不理想的,因为它使得查找时很难解析数据库)
我希望有一些优雅的东西可以让这个像内置机制那样做,我只是不知道。我不知道存储过程/触发器,所以帮助它将不胜感激。我认为最简单的方法是为字符设置一个查找表,当到达第36行时,它被重置为0,然后第N-1行有一个进位。
您是否还打算使用此列作为你的Prim ary键? – Stephen 2011-03-08 04:54:18
我想,但它不是绝对nessicary – 2011-03-08 05:07:08
行,所以你可以解释字母数字ID背后的原因 - 为什么是auto_incremenet不足够的常规整数字段? – Stephen 2011-03-08 05:11:31