首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除行时如何在mysql自动增量字段中保持正确的编号顺序

删除行时如何在mysql自动增量字段中保持正确的编号顺序
EN

Stack Overflow用户
提问于 2013-10-18 05:41:29
回答 5查看 1.5K关注 0票数 0

我有一个表A,它有一个自动增量序列号字段SLNO。当我在表中插入值时,它会自动增加,如1,2,3,4.等等,但当我从表中删除一行时,订单就会中断。如果删除带有序列号2的行,则序列号字段将为1,3,4。但我希望保持连续的顺序,比如1、2、3甚至删除行。有什么办法来维持这个秩序吗?比如使用触发器或其他的

EN

Stack Overflow用户

发布于 2013-10-21 10:03:29

存储大量的记录会导致删除效率低下。相反,您可以依赖现有的SLNO索引,这对于我所想到的所有用例来说都足够了。

如果您是SELECT whatever ORDER BY SLNO LIMIT ... OFFSET k,那么返回的行具有ID k、k+1、k+2、.

如果您想获得一个知道它的SLNO的记录id:

代码语言:javascript
复制
SELECT COUNT(SLNO) FROM A WHERE SLNO <= thatnumber

如果您想获得thatnumber'th记录:

代码语言:javascript
复制
SELECT * FROM A ORDER BY SLNO LIMIT 1 OFFSET thatnumber
票数 0
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19442397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档