oracle采用sequence自动生成主键 不连续问题

oracle采用sequence自动生成主键 第一天跟第二天插入的主键不连续 有谁遇到过这种问题 怎么解决呢

昨天插入的主键 值是1 到了今天第一次插入就跑到了21了

除了这张表的插入之外 没有其他的操作使用过这个sequence序列

--创建t_article表
create table t_article(
id number not null primary key,
title varchar2(200),
content clob,
source varchar2(255),
createtime date,
updatetime date,
deploytime date
)tablespace users;

--创建一个序列
create sequence article_seq
minvalue 1 maxvalue 99999999999999
increment by 1
start with 1;

2个回答

检查一下此序列的缓存大小Cache Size.把设置为1就好了。如果大于1,则每次访问的时候就会生成n个序列。如果这n个序列你又没有正好用完,所以你第二次访问的时候就不连续了

iteye_19243
iteye_19243 谢啦 默认是cache 10的 我直接改了nocache 搞定了
大约 8 年之前 回复

检查是否有触发器绑定

iteye_19243
iteye_19243 没有…直接使用的…知道怎么回事了…是缓存的问题…默认是cache 10 楼上正解
大约 8 年之前 回复
立即提问