Php 重置现有表中的id值(不删除记录)
让我说,我的phpmyadmin中有一个表,如下所示: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时,我会这样做。如果没有对其他表的引用/连接,则可以执行以下操作:
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。为什么?这对他们来说毫无意义。