MySQL数据库中,如何重置自增字段AUTO_INCREMENT的值呢?现在需求将MySQL数据库中的表的自增列的值进行重置,应该如何处理呢?
可以使用MySQL的ALTER语句,如下:
ALTER TABLE tablename AUTO_INCREMENT = 1
或者:
ALTER TABLE tablename AUTO_INCREMENT = value;
注意: ALTER TABLE tablename AUTO_INCREMENT = value;在InnoDB引擎中不起作用!!!
SET @num := 0; UPDATE your_table SET id = @num := (@num+1); ALTER TABLE your_table AUTO_INCREMENT =1;
如果你使用phpMyAdmin的MySQL数据库图形管理工具的话,可以打开指定的表,在’操作(operations)’的选项卡中,可以直接设置当前表的自增列的数值,如下图:
ALTER TABLE my_table MODIFY COLUMN ID INT(10) UNSIGNED; COMMIT; ALTER TABLE my_table MODIFY COLUMN ID INT(10) UNSIGNED AUTO_INCREMENT; COMMIT;
可以使用TRUNCATE命令,如下:
TRUNCATE TABLE table_name
特别注意: TRUNCATE 会删除指定表中的所有数据,所以在使用TRUNCATE命令前请一定谨慎,使用TRUNCATE命令前请一定谨慎,使用TRUNCATE命令前请一定谨慎!!!重要的事情说三遍!!!