Php 重置现有表中的id值(不删除记录)

Php 重置现有表中的id值(不删除记录),php,mysql,sql,phpmyadmin,Php,Mysql,Sql,Phpmyadmin,让我说,我的phpmyadmin中有一个表,如下所示: id | name 1 | John 2 | Dave 5 | Tiffany 从id可以看出,我删除了“Dave”和“Tiffany”之间的两条记录。 我的问题: 是否有办法“重置”或重新填充id,以便“Tiffany”记录的id=3,依此类推 我发现,重新开始计算id的唯一方法是“截断”,但它会删除我不想要的所有记录。有时,当我创建一个新表并想要获得“干净”id时,我会这样做。如果没有对其他表的引用/连接,则可以执行以下操作:

让我说,我的phpmyadmin中有一个表,如下所示:

id | name
1  | John
2  | Dave
5  | Tiffany
从id可以看出,我删除了“Dave”和“Tiffany”之间的两条记录。 我的问题:

是否有办法“重置”或重新填充id,以便“Tiffany”记录的id=3,依此类推


我发现,重新开始计算id的唯一方法是“截断”,但它会删除我不想要的所有记录。有时,当我创建一个新表并想要获得“干净”id时,我会这样做。如果没有对其他表的引用/连接,则可以执行以下操作:

SET @var:=0;
UPDATE `table` SET `id`=(@var:=@var+1);
ALTER TABLE `table` AUTO_INCREMENT = 1; 

对于已在其他表中使用的ID,请勿执行此操作

你可以检查这个问题。非常有益不要那样做。。。没有任何意义,只会弄乱外键。为什么id中有“间隙”对您很重要?数据库不在乎。是否使用id供人们查看?如果是这样,请不要这样做。依我看,用户永远不应该看到原始数据库记录id。为什么?这对他们来说毫无意义。