我在测试数据库中的一些数据,以查看是否存在任何错误,现在我清除了所有测试数据,但我的 ID(自动递增)不再从 1 开始,我该如何重置它?
ALTER TABLE `table_name` AUTO_INCREMENT=1
你也可以在phpMyAdmin中完成此操作,而无需编写SQL语句。
注意:您会发现phpMyAdmin正在执行其他答案中提到的相同的SQL语句。
将表格xxx
的自增计数器重置为1,或通过TRUNCATE清空表格。
注:此操作会删除表格内所有数据,请谨慎操作。
我同意rpd的观点,这就是答案,可以定期清理您的id列,即使只有几百行数据,但可能会有一个34444543的id!因为数据被定期删除,但id会自动增加。
ALTER TABLE users DROP id
以上的 SQL 代码可以通过 SQL 查询或 PHP 运行。这将删除 id 列。
然后通过下面的代码重新添加它:
ALTER TABLE `users` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST
将此代码放置于可能在管理面板中运行的代码片段中,这样当任何人进入该页面时,它将运行此自动清理数据库并整理其内容的脚本。
id
并重新创建它,则完全更改了记录的ID。您也可以停止使用id
列! - trejder我刚在我的一个MySQL数据库中遇到了这个问题,然后我看了phpMyAdmin的答案。然而,在phpMyAdmin中我最好的解决方法是在受影响的表中删除id列并创建一个新的id列(添加A-I -autoincrement-)。这样可以正确恢复我的表格id-简单易行!希望这能帮助其他遇到这个问题的人(不需要MySQL代码-我希望以后学会使用它!)。
ALTER TABLE tablename AUTO_INCREMENT = 0
效果最好,否则新记录将会以id=2的方式添加。 - Neil Robertson