2015-08-28 42 views
0

如何使MySQL表主键自动增加一些变量前缀?如何使MySQL表主键自动增加一些变量前缀

我想使用触发器使字符串+数字都是可变的自动增量字段。例如PRJ001,PRJ002,PRD001,PRD002 ...等。 如何使用触发器或使用简单的查询来实现这个?

任何建议让我的一天?

+2

Store中的字符串和数字分开,不使用AUTO_INCREMENT。尽管它的名字,这不是它的用途。 – Strawberry

+1

可以这样做,当然。我会通过一个存储过程,锁定,花费20分钟,然后想知道它为什么非常重要 – Drew

+0

这是我所指的[stored proc](http://stackoverflow.com/a/32018207/1816093)。这意味着你的插入通过一个存储过程发生,而不是本地插入语句。那边的问题是关于如何在重复更新上插入实际上在auto_increment值中创建空隙。存储的proc可以为您的目的而定制。但是不要。这个概念是疯狂的。不要使用它,剪裁它,它会导致不必要的精神错乱。 – Drew

回答

2

就像它在评论中说的,你不能使用自动增量。

在你的地方,我不会使用单独的枚举,而是一个普通的枚举:PRJ001,PRJ002,PRD003,PRD004,PRJ005等等。

毕竟它只是一个名字,没有任何意义的数字。

+0

,但在插入'PRJ'后,我想'PRD'作为前缀。还有一种机会,在一些'PRD'插入后我想插入'PRJ'。 –

+0

在这种情况下,一旦新的前缀来了,你必须开始你的计数器0 –

+0

我同意YCS。不要通过你的身份证号码获得所有强迫症 – Drew

2

我不认为这就是可能的话,有两种方法,我知道你如何能做到这一点:

  1. 使用int字段并将其转化为当你读它任何你想要的。
  2. 使它成为一个变种charand手动插入(添加到数据库之前做你的代码计算)
相关问题