通过rownum实现即可。 sql:select rownum , from tablename where 条件语句。 解释:rownum是隐藏的,查询结果默认从1开始编号,所以肯定会是自然编号的,有多少条,编号就到多少。
ORACLE/DB2访问SEQUENCE如下
SELECT SEQ_SENT_MESSAGECURRVAL FROM DUAL
SELECT SEQ_SENT_MESSAGENEXTVAL from dual
你的MYSQL多少版本的呀我记得我读书那阵子MYSQL貌似没有序列的
建表的时候应该可以自定义一个自增长字段的
create table tab (id int not null primary key auto_increment)
可以建立另外一个表,把最大值序列存放在一个字段中,如果增加则最大值+1,删除则最大值-1,这样的话,你的id肯定是连续的。
eg:
t1:(id int,……)你存放留言板内容的表
t2:(maxid int,class varchar)这个表的maxid就存放你留言板中当前最大值+1的值,class用来区分maxid用于那个表。
1、新增记录:只要取出t2表中的相关maxid,将取道的最大值将留言板内容新增到t1表中,增加完后再update t2表中的maxid=maxid+1
2、删除记录:先删除t1表记录,然后update t2表中的maxid=maxid-1
3、修改记录:直接修改t1表,不需要处理t2表中的maxid。
这样t1表中的id永远是连续的。
表的自增量不会因为你删除记录自动-1,他只会记录你使用过的最大值继续计数。除非你把表删除重建。
以上就是关于如何用SQL语句查找一个序列的最大编号全部的内容,包括:如何用SQL语句查找一个序列的最大编号、sql取序列最大值、关于提取Sql Server 的自动增量序列等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)