Oracle与Mysql自动增长列(id)的区别

所属分类: 数据库 / oracle 阅读数: 743
收藏 0 赞 0 分享

这里所说的自动增长列,主要是指一个表中主键id的自动增长。

Oracle与Mysql不同,不能在CREATE建立表时设置自动增长列功能。

Oracle必须通过创建sequence序列来实现自动增加列的功能。

首先要建立序列(当然必须要先建好表,添加好主键约束,这列假设约束名为test_sequence)

                  create sequence test_sequence
                     [increment by 1]--增长的步长
                     [start with 1]--从几开始增长
                     [maxvalue 100]--增长的最大值
                     [nomaxvalue]--不设最大值
                     [cycle|nocycle];--循环增长/不循环增长

定义了sequence以后就可以在insert语句中使用test_sequence.nextval和test_sequence.currval。
test_sequence.currval返回当前sequence的值,但必须在第一次初始化test_sequence.nextval后才能使用test_sequence.currval。
test_sequence.nextval会增加sequence的值,并返回增加后的sequence的值。

然后可以alter修改sequence序列,来改变自动增加的方式。
alter sequence test_sequence increment by 1 ...;后面的选项跟建表时一样。

还可以用drop删除sequence序列。
drop sequence test_sequence;

Mysql先对Oracle来说就简单多了,可以在建表时进行设置。

复制代码 代码如下:

create table( id int(10) auto_increment primary key) auto_increment=1;

auto_increment=1设置自动增长列从1开始

更多精彩内容其他人还在看

Oracle轻松取得建表和索引的DDL语句

Oracle轻松取得建表和索引的DDL语句
收藏 0 赞 0 分享

重新编译PLSQL中的无效对象或者指定的对象 的方法

重新编译PLSQL中的无效对象或者指定的对象 的方法
收藏 0 赞 0 分享

在OracleE数据库的字段上建立索引的方法

在OracleE数据库的字段上建立索引的方法
收藏 0 赞 0 分享

oracle下加密存储过程的方法

oracle下加密存储过程的方法
收藏 0 赞 0 分享

浅谈LogMiner的使用方法

浅谈LogMiner的使用方法
收藏 0 赞 0 分享

oracle 下WITH CHECK OPTION用法

oracle 下WITH CHECK OPTION用法
收藏 0 赞 0 分享

在Oracle中向视图中插入数据的方法

在Oracle中向视图中插入数据的方法
收藏 0 赞 0 分享

DBA_2PC_PENDING 介绍

DBA_2PC_PENDING 介绍
收藏 0 赞 0 分享

在Oracle PL/SQL中游标声明中表名动态变化的方法

在Oracle PL/SQL中游标声明中表名动态变化的方法
收藏 0 赞 0 分享

DB2和 Oracle的并发控制(锁)的比较

DB2和 Oracle的并发控制(锁)的比较
收藏 0 赞 0 分享
查看更多