4

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

4

4 回答 4

5

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

  • 获取最后一个 ID
  • 获取字符串中的 INT 部分
  • 增加值
  • 连接
  • 保存到数据库
于 2012-12-26T09:36:57.610 回答
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 #.

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

于 2014-04-10T06:34:26.703 回答
0

AutoIncrement 字段在 mysql 中是整数。

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

创建触发器

于 2012-12-26T09:41:35.653 回答
0

MySQL的重复- 如何使用 VARCHAR 作为 AUTO INCREMENT 主键

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

于 2012-12-26T09:37:43.220 回答