数据库中的序列是什么?具体概念?

数据库中的序列是什么?具体概念?,第1张

序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。其主要的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。创建序列需要CREATE SEQUENCE系统权限。序列的创建语法如下: CREATE SEQUENCE 序列名 [INCREMENT BY n] [START WITH n] [{MAXVALUE/ MINVALUE n|NOMAXVALUE}] [{CYCLE|NOCYCLE}] [{CACHE n|NOCACHE}] INCREMENT BY 用于定义序列的步长,如果省略,则默认为1,如果出现负值,则代表序列的值是按照此步长递减的。 START WITH 定义序列的初始值(即产生的第一个值),默认为1。 MAXVALUE 定义序列生成器能产生的最大值。选项NOMAXVALUE是默认选项,代表没有最大值定义,这时对于递增序列,系统能够产生的最大值是10的27次方对于递减序列,最大值是-1。 MINVALUE定义序列生成器能产生的最小值 ...

问题分析:序列=自增ID,是数据库根据数据插入先后顺序自动生成的。

查询方式:

只能再查询自增ID即可

具体 *** 作:MYSQL获取自增ID的四种方法

select max(id) from tablename

SELECT LAST_INSERT_ID() 函数

LAST_INSERT_ID 是与table无关的,如果向表a插入数据后,再向表b插入数据,LAST_INSERT_ID会改变。

select @@IDENTITY

@@identity 是表示的是最近一次向具有identity属性(即自增列)的表插入数据时对应的自增列的值,是系统定义的全局变量。一般系统定义的全局变量都是以@@开头,用户自定义变量以@开头。

SHOW TABLE STATUS

得出的结果里边对应表名记录中有个Auto_increment字段,里边有下一个自增ID的数值就是当前该表的最大自增ID.

Oracle的啊 给你个例子,你自己改下表还有insert语句 public int save(User user) throws SQLException {// 插入数据 int id = 0// 返回用户ID String sql = "insert into regist_1 values(regist_1seq.nextval,?,?,?,?,?,?)"String sql2 = "s


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10093538.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存