MySQL中的自动增量varchar

时间:2012-12-26 09:35:05

标签: mysql sql select

有没有办法设置主键自动增量,mySql中的varchar类型?

4 个答案:

答案 0 :(得分:4)

NONE 。到目前为止,AUTO_INCREMENT只能设置为INT。它需要有自己的逻辑才能做到这一点。例如,

  • 获取姓氏
  • 获取字符串
  • 中的INT部分
  • 增加值
  • 级联
  • 保存到数据库

答案 1 :(得分:0)

重复MySQL - how to use VARCHAR as AUTO INCREMENT Primary Key

根据我的观点,您必须将其更改为整数类型。 由于AUTO_INCREMENT仅适用于INT类型,因此将字段设置为PRIMARY KEY可防止重复值。

答案 2 :(得分:0)

AutoIncrement字段在mysql中是整数。

您可以镜像varchar字段中的自动增量字段,并创建一个触发器,用于更新插入/更新时的varchar字段。

Create Trigger

答案 3 :(得分:0)

根据我的经验,您可以将Varcar ID设置为自动增量,但您必须具有逻辑..表示

 Dim crnum As String = "CR00001"
    Dim iTemp As Integer = 0

                iTemp = CInt(crnum.Substring(4, crnum.Length - 4)) '// get only the #'s from String and Convert them to Integer.
                iTemp += 1 '// increase the ID # + 1.
                crnum = crnum.Substring(0, 4) & iTemp.ToString("00000") '// set the ID back with String and #'s formatted to 5 digit #.

但是你必须自己做逻辑,因为在你第二次运行它之后它将成为重复的主键,所以,你必须考虑你的逻辑来应用你的代码。一切皆有可能。 ;)