Oracle数据库实现主键自增

Oracle不同于MySQL,MySQL只需要在Navicat等工具中点个自动递增按钮就能实现主键自增,Oracle需要创建自增序列才能实现

  • Oracle实现主键自增有多种方式,但是需要创建 自增序列 为前提
  • 下面演示一种最简单,也是个人常用的方式
  1. 创建自增序列:
create sequence 序列名
 increment by 1		--每次+1	
 start with 1		--从1开始
 nomaxvalue	 	--不限制最大值
 nominvalue	 	--不限制最小值
 NOCYCLE 	 	--一直累加
 cache 20;	 	--设置取值缓存数为20(默认值) 也可设置nocache - 表示不使用缓存

cache 缓存的作用:设置为20时,第一次新增时,会在Oracle服务器的缓存中,存储20个值,后续新增会直接从缓存中去取值,可以提高效率

缺点:如果缓存里的值还没用完Oracle数据库就意外宕机,会导致缓存失效,下一次新增时数据库会认为20个值用完了,会继续往下存储20个新值,最终会导致序列不连续

  1. 在创建表时使用自增序列:
CREATE TABLE userinfo (
  id nvarchar2(64)  DEFAULT 序列名.nextval,
  name nvarchar2(64) ,
  age number(3)
);
posted @   姜晓姜晓  阅读(2221)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示