重置ID自动增量?phpmyadmin

重置ID自动增量?phpmyadmin,php,mysql,Php,Mysql,我正在测试数据库表中的一些数据,以查看是否有任何错误,现在我清除了所有测试数据,但我的id(自动增量)不再从1开始,我可以(如何)重置它吗?ALTER TABLExxx自动增量=1; ALTER TABLE `table_name` AUTO_INCREMENT=1 或 通过截断来清除表,也可以在phpMyAdmin中执行此操作,而无需编写SQL 单击左列中的数据库名称 单击左列中的表名 单击顶部的“操作”选项卡 在“表格选项”下,应该有一个自动递增字段(仅在具有自动递增字段的表格上) 输入

我正在测试数据库表中的一些数据,以查看是否有任何错误,现在我清除了所有测试数据,但我的id(自动增量)不再从1开始,我可以(如何)重置它吗?

ALTER TABLE
xxx
自动增量=1;
ALTER TABLE `table_name` AUTO_INCREMENT=1

通过截断来清除表,也可以在phpMyAdmin中执行此操作,而无需编写SQL

  • 单击左列中的数据库名称
  • 单击左列中的表名
  • 单击顶部的“操作”选项卡
  • 在“表格选项”下,应该有一个自动递增字段(仅在具有自动递增字段的表格上)
  • 输入所需值并单击下面的“Go”按钮

注意:您将看到phpMyAdmin发出的SQL与其他答案中提到的SQL相同。

我刚刚在一个MySQL数据库中遇到过这个问题,我在这里查看了phpMyAdmin的答案。但是,我在phpMyAdmin中修复它的最佳方法是在受影响的表中,删除id列并创建一个新的/新的id列(添加a-I-autoincrement-)。这正确地还原了我的表id simples!希望这有帮助(不需要MySQL代码——我希望以后再学习使用它!)其他任何人都有这个问题。

我同意rpd,这是答案,可以定期清理id列,该列越来越大,只有几百行数据,但可能id为34444543!,因为数据会定期删除,但id会自动增加

ALTER TABLE users DROP id
上述sql可以通过sql查询或作为php运行。这将删除id列

然后通过以下代码再次添加:

ALTER TABLE  `users` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST

将其放在一段代码中,该代码可能会在管理面板中运行,因此当任何人进入该页面时,它将运行此脚本,自动清理数据库,并对其进行整理。

+1很好的解决方案,因为在我的情况下,如果表中仍然包含一些数据(前2个用户),则不会更改auto inc。但在您的解决方案中,它将重新排列所有索引。“这是答案,可以定期清理id列,因为只有几百行数据,id列变得越来越大”?我是唯一一个看到这是疯狂的人吗?OP问(我想)关于空桌子的事!您的“定期基础”建议在充满数据的表上定期进行此操作。你怎么能想象呢?关系(其他表,使用此表中的ID吗?)如果您只需删除
ID
并重新创建它,您就完全改变了记录的ID。您也可以完全停止使用
id
列!每种情况都是不同的…我只有8000行,我的id有9或10个数字长…没有关系,只是选择了最新的结果(最高id)。这是做一个月一次的计划任务,18个月后从来没有出现过问题…这对我的情况非常有效!非常感谢。只有当数据库中的数据不断转换并且id仅与单个会话相关时,此选项才适合定期执行。或者数据总是以后进先出的方式使用。但正如Trejder所说,如果使用id链接或关联此处的数据到其他表或代码,那么执行您所说的操作将破坏一切。所以我可以看到在某些情况下这是可以的,但是你必须小心,如果你过度使用它,你可能会导致你的程序以奇怪的意外方式中断,这可能不会留下有意义的错误来帮助解决。实际上
ALTER TABLE TABLE name AUTO_INCREMENT=0
最适合我,否则新记录添加了id=2。下面的Mickey答案帮助了我最好的sqlphpMyAdmin用来做你让它做的事情,基本上就是上面的Mikeys4u答案。你可以在上面看到我的评论,为什么在某些情况下这是可以的,但它不是万灵药