主页 > 知识库 > Oracle与Mysql自动增长列(id)的区别

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

热门标签:美图秀秀地图标注 开封智能外呼系统厂家 外呼线路外显本地号码 阿尔巴尼亚地图标注app 征服者火车站地图标注 人工智能地图标注自己能做吗 征服眼公司地图标注 word地图标注方向 百度地图标注素材

这里所说的自动增长列,主要是指一个表中主键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开始

您可能感兴趣的文章:
  • 浅谈Mysql、SqlServer、Oracle三大数据库的区别
  • mybatis foreach批量插入数据:Oracle与MySQL区别介绍
  • 浅析Oracle和Mysql分页的区别
  • 简述MySQL与Oracle的区别
  • Oracle10个分区和Mysql分区区别详解
  • Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍
  • Oracle 和 mysql的9点区别
  • 解析mysql与Oracle update的区别
  • MySQL与Oracle的语法区别详细对比
  • Oracle与Mysql主键、索引及分页的区别小结
  • mysql和oracle的区别小结(功能性能、选择、使用它们时的sql等对比)

标签:宜春 淮南 酒泉 六安 孝感 泰安 海北 葫芦岛

巨人网络通讯声明:本文标题《Oracle与Mysql自动增长列(id)的区别》,本文关键词  Oracle,与,Mysql,自动,增,长列,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《Oracle与Mysql自动增长列(id)的区别》相关的同类信息!
  • 本页收集关于Oracle与Mysql自动增长列(id)的区别的相关信息资讯供网民参考!
  • 推荐文章