Search code examples
mysqldatabaseauto-increment

How does MySQL Auto Increment work?


I was just creating a new table using MySQL Query Browser, and noticed there's a tick under Auto Increment Column. How does that work?

When adding to the database programatically, do I just add a number, and then the database automatically increments that number?

Everytime a NEW user registers on my site, I want their Customer ID (integer only) to auto increment, so I don't have to try and randomly generate a unique number.

Can this be done simply?

Thank you!


Solution

  • When adding to the database programatically, do I just add a number, and then the database automatically increments that number?

    Yes, that's the way auto_increment works.

    • The value will be incremented for each new row

    • The value is unique, duplicates are not possible

    • If a row is deleted, the auto_increment column of that row will not be re-assigned.

    • The auto_increment value of the last inserted row can be accessed using the mySQL function LAST_INSERT_ID() but it must be called right after the insert query, in the same database connection

    mySQL Reference