如何在phpMyAdmin中将mysql表自动递增重置为1?


20

我知道在MySQL的命令行中,我可以通过以下方式将表的自动增量字段重置为1:

ALTER TABLE tablename AUTO_INCREMENT = 1

我很好奇是否有办法从phpMyAdmin中执行此操作。是像复选框一样重置自动增量的东西,还是类似这些东西的东西?

并不是说命令行方法有什么问题。我一直在思考的其中一项好奇心事...提前致谢!

Answers:


19

phpmyadmin

也许您可以选择phpMyAdmin Operations选项卡:

  • 在phpMyAdmin中,单击要重置的表或更改AUTO_INCREMENT值
  • 单击操作选项卡
  • 在表选项框中找到auto_increment字段。
  • 输入新的auto_increment起始值
  • 单击“表选项”框的“执行”按钮。

由于这是phpmyadmin的最常见问题之一,因此您可以在此博客中了解有关此内容的更多信息:http : //trebleclick.blogspot.com/2009/01/mysql-set-auto-increment-in-phpmyadmin.html

补充资料

对于空表,重置auto_increment属性的另一种方法是运行

TRUNCATE TABLE mydb.tablename;

如果其中有数据,请不要运行它。如果您想了解数据,请成为我的客人。

在phpmyadmin中,只需单击SQL选项卡,输入命令,然后运行它。

对于非空表,如果删除了较高的条目,则可能需要将auto_increment属性调整为使用中的现有最高ID。

一,优化表

OPTIMIZE TABLE mydb.mytable;

接下来,找到auto_increment列的最大值(例如id

SELECT MAX(id) maxid FROM mydb.mytable;

假设答案返回27。转到“操作”选项卡,然后输入28。


+1截断,我一直在删除并重新创建。
mckenzm

@mckenzm引擎盖下,TRUNCATE TABLE被删除和重建(dev.mysql.com/doc/refman/5.6/en/...
RolandoMySQLDBA

@mckenzm我刚刚读了您的个人资料。25年的COBOL ??? 可怜的你受了折磨。
RolandoMySQLDBA

TBH大约是同一两年的13倍...而且很多事情都很简单,嵌入式SQL,命令级CICS,VMS系统调用...预处理宏。乐高的东西。
mckenzm

11

作为其他答案的补充,我希望使用更直观的方法:

  1. 单击要更改的表。

  2. 点击Operations

在此处输入图片说明

  1. 在“ 表格选项 ” 下查看:

在此处输入图片说明

另请注意:

–§–   您不能将计数器重置为小于或等于当前使用的值。对于InnoDB和MyISAM,如果该值小于或等于该AUTO_INCREMENT列中当前的最大值,则该值将重置为当前最大AUTO_INCREMENT列值加1。


1
我仍然使用phpMyAdmin 4.0.1-rc1。我猜它太旧了,因为该页面上没有AUTO_INCREMENT选项。
卡马

-2
SET @num := 0;
UPDATE tablename SET id = @num := (@num+1);
ALTER TABLE tablename AUTO_INCREMENT = 1;

2
那么所有相关数据呢?
Colin't Hart
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.