Oracle Sequence开始有疑问

Jac*_*ack 1 sql oracle sequence

我试图在我的一个表中自动编号Id字段.表已有40行数据,但现在如果我自动编号id字段,我是否必须指定start为41或不?谢谢

我必须这样做吗?

create sequence EMP.SEQ_ID
minvalue 1
maxvalue 99999999999999999
start with 41
increment by 1
cache 50
order;
Run Code Online (Sandbox Code Playgroud)

或者只有这样才行

create sequence EMP.SEQ_ID
minvalue 1
maxvalue 99999999999999999
increment by 1
cache 50
order;
Run Code Online (Sandbox Code Playgroud)

Nul*_*ion 5

如果未指定START WITH,则从1开始.

因此,如果您将其用于主键,并且已存在ID为1到40的行,则它将失败.

PS:你可以用这个:

CREATE SEQUENCE EMP.SEQ_ID
START WITH 41
NOMAXVALUE
CACHE 50;
Run Code Online (Sandbox Code Playgroud)

(默认情况下,它增加1).