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 #.
4条答案
按热度按时间w1e3prcc1#
AUTO_INCREMENT
只能为INT
设置。它需要有自己的逻辑来完成此操作。例如,osh3o9ms2#
复制MySQL - how to use VARCHAR as AUTO INCREMENT Primary Key
根据我的观点,你必须把它改为整数类型。因为
AUTO_INCREMENT
只适用于INT
类型,而且将字段设置为PRIMARY KEY
可以防止值的重复。epggiuax3#
自动增量字段在mysql中是整数。
您可以在varchar字段中镜像自动递增字段,并建立在插入/更新时更新varchar字段的触发程序。
Create Trigger
hgqdbh6s4#
根据我经验,您可以将Varcar ID设置为自动增量,但必须具有逻辑。
但是你必须做你自己的逻辑,因为你第二次运行它之后它将变成重复的主键,所以,你必须思考你的逻辑来应用你的代码。任何事情都是可能的。)