Auto Increment varchar in MySQL

前端 未结 4 915
眼角桃花
眼角桃花 2021-01-19 07:07

Is there a way to set primary key auto increment, type of varchar in mySql?

相关标签:
4条回答
  • 2021-01-19 07:31

    AutoIncrement fields are integer in mysql.

    You can mirror the auto-increment field in a varchar field and create a trigger which updates the varchar field on insert/update.

    Create Trigger

    0 讨论(0)
  • 2021-01-19 07:37

    Duplication of MySQL - how to use VARCHAR as AUTO INCREMENT Primary Key

    According to my point of view you have to change it as integer type. Since AUTO_INCREMENT is for INT type only, moreover setting the field as PRIMARY KEY which prevents duplication of values.

    0 讨论(0)
  • 2021-01-19 07:44

    NONE. So far, AUTO_INCREMENT can be set for INT only. It needs to have your own logic to do that. eg,

    • Get Last ID
    • Get the INT part within the string
    • Increment the value
    • Concatenate
    • Save to DB
    0 讨论(0)
  • 2021-01-19 07:46

    for my experience, you can make Varcar ID as auto increment but you must have logic..let say

     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 #.
    

    but you must do your own logic ,because after u run it for second time it will become duplicate primary key so, you must think your logic to apply your code. Anything is possible. ;)

    0 讨论(0)
提交回复
热议问题