Oracle数据库实现主键自增
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)
);
分类:
Oracle
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?