devroom.io/content/blog/2007-11-30-mysql-reset-the-auto-increment-value-of-a-table.md

1.1 KiB

+++ date = "2007-11-30" title = "MySQL: (Re)set the auto-increment value of a table" tags = ["General", "Blog", "Databases", "MySQL", "development"] slug = "mysql-reset-the-auto-increment-value-of-a-table" description = "Let's start over by resetting MySQL's auto increment counter." +++

Sometimes it's necessary to set the starting point of a MySQL auto-increment value.

Normally, MySQL starts auto-incrementing at 1. But let's say you want to start at 10.000, because you want at least a five figure number. You can use the following query to set the MySQL auto-index:

ALTER TABLE some_table AUTO_INCREMENT=10000

If you want to delete all records from your table and restart auto-index at 1, you might be tempted to run a DELETE query, followed by the above example, setting the auto increment value to 1. There is a shortcut, however:

TRUNCATE TABLE some_table

This will basically reset the table, deleting all data and resetting the auto increment index. Do not that the truncate command is a hard-reset option. For instance, any triggers "ON DELETE" will not be fired when using truncate.