



-
[西安|结业弟子]JAVA-李龙
01.添加自增长,其实并不保证编号是连续的.
自动ID列,如果删除了记录,再插入记录时,默认不会重用已经删除的id,因此是不连续的。
这个是mysql的正常现象。
2.主键应当是业务无关的(in most cases if not all)。它只代表了某条数据在数据库中的位置,方便查询定位以及其他表的对其的引用。
举个例子(只是例子),假设你网上商店,某个ID=1的货物不卖了,要删掉,不再显示。
难道因为这个原因,所有数据库里面的订单,购物车等等,全部要把对应的货物ID - 1吗??!!
3.如果你要连续的话 也可以实现
比如:
自增id
1
2
3
4现在删除4,就变成了
(ps:其实,坑乎,可以像其他的网站一样,问者设置问题和奖励学分,其他学员回答,有效果了,把学分给回答的学员!!)
1
2
3
这时候,如果增加一条数据,会变成
1
2
3
5
上面5不是我们想要的结果,4才是理想的id,
解决方法是,在删除4之后,执行下面的sql语句:
ALTER TABLE table_name AUTO_INCREMENT = 1;(这边亲测有效)编辑于2018-08-23 -
[成都|]PM-
0编辑于2018-08-24
- 去第 页