linux中数据库创建表要求id自增,对Oracle数据库中的表设置主键自增

在Oracle中,虽然没有内置的自增字段,但可以通过创建序列和触发器来模拟这一功能。步骤包括创建数据表、定义序列、创建触发器、提交更改及测试插入数据。这种方法允许在插入记录时自动为`userid`字段分配唯一值。
摘要由CSDN通过智能技术生成

Oracle中没有自增字段,可通过序列+触发器间接实现,cmd中sqlplus登录,直接运行即可。一般要经过一下几步:

1建立数据表

create table Test_Increase(

userid number(10) primary key,  /*主键,自动增加*/

username varchar2(20)

);

2创建自动增长序列

CREATE SEQUENCE TestIncrease_Sequence

INCREMENT BY 1   -- 每次加几个

START WITH 1     -- 从1开始计数

NOMAXVALUE       -- 不设置最大值

NOCYCLE          -- 一直累加,不循环

CACHE 10;

3创建触发器

CREATE TRIGGER Test_Increase BEFORE

insert ON  Test_Increase FOR EACH ROW

begin

select TestIncrease_Sequence.nextval into:New.userid from dual;

end;

4 提交

commit;

5 测试

反复执行如下语句:

insert into Test_Increase(Username) values('test')

6 查看插入结果:

userid username

1       test

2       test

3       test

4       test

5       test

6       test

7       test

8       test

 9       test0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值