MySQL由于删数据自动递增出现问题的解决方法(针对少量数据)

对于MySQL的管理我用到的是 phpmyadmin
phpmyadmin 是用 PHP 语言编写的MySQL管理工具,是基于图形界面的,功能强大,用过MySQL的应该都用过这个工具,图形界面还是挺方便的,界面如图:
MySQL由于删数据自动递增出现问题的解决方法(针对少量数据)_第1张图片
下面进入正题:
几乎所有的数据库都会出现一个问题,如果设置了自动递增的功能,然后不小心把数据表(table)里面的一行数据删掉,虽然只是改动一行,一连串数字中出现一个漏缺,有的人觉得没什么,影响不大,但是对于强迫症患者来说,这是极其难受的,情况如图:
MySQL由于删数据自动递增出现问题的解决方法(针对少量数据)_第2张图片
如果数据表的数据比较少的情况,可以一个一个把 ID 改成连续的,但是问题来了,改成连续之后,它的自动递增的值没有变,也就是说,下一个插入的行的 ID 会根据之前递增到的最大值(这里是8)来递增,那个插入新行的 ID 就会是 9,问题如图:
MySQL由于删数据自动递增出现问题的解决方法(针对少量数据)_第3张图片
再之后,ID 就会在 9 的基础上继续递增,这个空缺补不回来。

1. 图形界面的解决方法:

MySQL由于删数据自动递增出现问题的解决方法(针对少量数据)_第4张图片
先把数据表上的 ID 改成连续的再进行以下操作:

在操作选项里面找到 AUTO_INCREMENT 选项,把它的值改成你当前数据表(table)的 ID 的最大值加上1,然后再插入一组新行看看结果,结果如图:
MySQL由于删数据自动递增出现问题的解决方法(针对少量数据)_第5张图片

2. 命令行更新 AUTO_INCREMENT 的值:

alter TABLE classify AUTO_INCREMENT=10;**

===============================================================================
以上提供了两种方法设置 AUTO_INCREMENT

这样子自动递增的问题就解决了,但是该方法只是少量数据的情况下才好用。因为你在重新设置 AUTO_INCREMENT 的值得时候,你要先把数据表(table)的 ID 改成顺序的才行,大量数据的情况下,建议还是先拷贝旧表,重新建表,再新加 ID 列。

如果要在已经建好的数据表首列添加 ID 列,想让其自动递增,需要先
alter table TABLE_NAME add column ID INT first;
然后再把它设置成自动递增

因为直接设置递增会报错,我不知道啥回事。

在图形界面设置自动递增比较方便,点击 “修改”,然后把 “A_I” 勾选上就行了,你会在 “额外” 那一栏看到 AUTO_INCREMENT 出现,然后再点击 “浏览” ,就可以看到 ID 已经更新完成。
操作如图:
MySQL由于删数据自动递增出现问题的解决方法(针对少量数据)_第6张图片
MySQL由于删数据自动递增出现问题的解决方法(针对少量数据)_第7张图片
MySQL由于删数据自动递增出现问题的解决方法(针对少量数据)_第8张图片
------------------------------------------------------------------===--------------------------------------------------------------------
以上就是我的一些拙见,如果发现问题,有错误希望各位兄台批评指正,emmmmm
如果还有更好的解决方法,也可以留言探讨一下,不胜感激。

你可能感兴趣的:(mysql,数据库,phpmyadmin)