【jdbc添加数据id自增不按顺序 _JDBC 】 | IT修真院·坑乎
问题已收录 jdbc添加数据id自增不按顺序
我也踩过这个坑( 1 )
已统计您的踩坑,无需重复点击
回答(2)
JDBC
详细描述
错误截图
编辑于2025-04-19
  • [西安|结业弟子]JAVA-李龙
    0

    1.添加自增长,其实并不保证编号是连续的.

    自动ID列,如果删除了记录,再插入记录时,默认不会重用已经删除的id,因此是不连续的。

    这个是mysql的正常现象。


    2.主键应当是业务无关的(in most cases if not all)。它只代表了某条数据在数据库中的位置,方便查询定位以及其他表的对其的引用。

    举个例子(只是例子),假设你网上商店,某个ID=1的货物不卖了,要删掉,不再显示。

    难道因为这个原因,所有数据库里面的订单,购物车等等,全部要把对应的货物ID - 1吗??!!


    3.如果你要连续的话 也可以实现

    比如:

    自增id
    1
    2
    3
    4

    现在删除4,就变成了
    1
    2
    3
    这时候,如果增加一条数据,会变成
    1
    2
    3
    5
    上面5不是我们想要的结果,4才是理想的id,
    解决方法是,在删除4之后,执行下面的sql语句:
    ALTER TABLE table_name AUTO_INCREMENT = 1;(这边亲测有效)

    (ps:其实,坑乎,可以像其他的网站一样,问者设置问题和奖励学分,其他学员回答,有效果了,把学分给回答的学员!!)


    编辑于2018-08-23
  • [成都|]PM-
    0

    谢谢师兄,百度知道问答那个模式我觉得我们可以借鉴

    编辑于2018-08-24