How can I reset a mysql table auto-increment to 1 in phpMyAdmin?
I know that in MySQL at the command line I can reset a table's auto-increment field to 1 with this:
ALTER TABLE tablename AUTO_INCREMENT = 1
I am curious if there is a way to do this from within phpMyAdmin. Something like a check box to reset the auto-increment or something else along those lines?
Not that there is anything wrong with the command line approach. More one of those curiosity things I keep thinking on... Thanks in advance!
Perhaps you could just select the phpMyAdmin Operations tab:
- In phpMyAdmin, click on the table you want to reset or change the AUTO_INCREMENT value
- Click on the Operations Tab
- In the Table Options box find the auto_increment field.
- Enter the new auto_increment starting value
- Click on the Go button for the Table Options box.
Since this one of the most frequently asked questions for phpmyadmin, you can learn more about this in this blog : http://trebleclick.blogspot.com/2009/01/mysql-set-auto-increment-in-phpmyadmin.html
For an empty table, another way to reset the auto_increment attribute is to run
TRUNCATE TABLE mydb.tablename;
Don't run this if you have data in it. If you want to hose the data, then be my guest.
In phpmyadmin, just click the
SQLtab, enter the command, and run it.
For a nonempty table, you may want to adjust the auto_increment attribute to the highest existing id in use in case higher entries were deleted.
First, optimize the table
OPTIMIZE TABLE mydb.mytable;
Next, locate the highest value for the auto_increment column (say it is
SELECT MAX(id) maxid FROM mydb.mytable;
Suppose the answer returns 27. Goto the Operations tab and enter 28.
@mckenzm Under the hood, TRUNCATE TABLE is dropping and recreating (https://dev.mysql.com/doc/refman/5.6/en/innodb-truncate-table-reclaim-space.html)
@mckenzm I just read your profile. 25 years of COBOL ??? You poor tormented soul.
As a supplement to the other answer(s), I'd prefer a more visual approach:
Click the table you want to change.
- Look under "Table options":
Also note that:
–§– You cannot reset the counter to a value less than or equal to the value that is currently in use. For both InnoDB and MyISAM, if the value is less than or equal to the maximum value currently in the
AUTO_INCREMENTcolumn, the value is reset to the current maximum
AUTO_INCREMENTcolumn value plus one.