有没有办法在 mySql 中设置主键自动增量、varchar 类型?
问问题
34198 次
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
于 2012-12-26T09:41:35.653 回答
0
MySQL的重复- 如何使用 VARCHAR 作为 AUTO INCREMENT 主键
根据我的观点,您必须将其更改为整数类型。由于AUTO_INCREMENT
仅用于INT
类型,而且将字段设置为PRIMARY KEY
防止值重复。
于 2012-12-26T09:37:43.220 回答