Oracle不同于MySQL,MySQL只需要在Navicat等工具中点个
自动递增
按钮就能实现主键自增,Oracle需要创建自增序列才能实现
- Oracle实现主键自增有多种方式,但是需要创建 自增序列 为前提
- 下面演示一种最简单,也是个人常用的方式
- 创建自增序列:
create sequence 序列名
increment by 1 --每次+1
start with 1 --从1开始
nomaxvalue --不限制最大值
nominvalue --不限制最小值
NOCYCLE --一直累加
cache 20; --设置取值缓存数为20(默认值) 也可设置nocache - 表示不使用缓存
cache 缓存的作用:设置为20时,第一次新增时,会在Oracle服务器的缓存中,存储20个值,后续新增会直接从缓存中去取值,可以提高效率
缺点:如果缓存里的值还没用完Oracle数据库就意外宕机,会导致缓存失效,下一次新增时数据库会认为20个值用完了,会继续往下存储20个新值,最终会导致序列不连续
- 在创建表时使用自增序列:
CREATE TABLE userinfo (
id nvarchar2(64) DEFAULT 序列名.nextval,
name nvarchar2(64) ,
age number(3)
);
标签:自增,缓存,20,--,序列,Oracle,主键
From: https://www.cnblogs.com/qzzzz/p/16970658.html