怎么实现新增数据自动生成排序编号?不是数据库自动新增id那种

举个例子,我新增一条数据,自动为他生成001的编号,再新增一条数据,生成002...以此类推,但是当002数据被取消删除后,下一条新增数据的编号就变成002了 这样要如何实现和设计比较好?哪位老哥解答一下 万分感激!!!

阅读 5.3k
4 个回答

你可以自己构造一个函数

那么问题来了,如果有001,002两条数据,删除了001,下一条数据是003,还是001

这么维护成本太高,所以mysql底层并没这么做

折腾的方法当然可以有,不过性能肯定要差,前面删掉的为什么还要用呢。。。感觉没必要

建一张 tb_idx 表, ID AUTO_INCREMENT
每次 检查表内是不是有 记录,如果没有 insert 一条,然后 删除掉,使用这条记录的 ID 作为数据表的 ID
数据表内如果删除数据,吧 ID 插回到 tb_idx 里
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏