我有一个表A,它有一个自动增量序列号字段SLNO。当我在表中插入值时,它会自动增加,如1,2,3,4.等等,但当我从表中删除一行时,订单就会中断。如果删除带有序列号2的行,则序列号字段将为1,3,4。但我希望保持连续的顺序,比如1、2、3甚至删除行。有什么办法来维持这个秩序吗?比如使用触发器或其他的
发布于 2013-10-21 10:03:29
存储大量的记录会导致删除效率低下。相反,您可以依赖现有的SLNO索引,这对于我所想到的所有用例来说都足够了。
如果您是SELECT whatever ORDER BY SLNO LIMIT ... OFFSET k,那么返回的行具有ID k、k+1、k+2、.
如果您想获得一个知道它的SLNO的记录id:
SELECT COUNT(SLNO) FROM A WHERE SLNO <= thatnumber如果您想获得thatnumber'th记录:
SELECT * FROM A ORDER BY SLNO LIMIT 1 OFFSET thatnumberhttps://stackoverflow.com/questions/19442397
复制相似问题