MySQL&Oracle数据库创建自动递增字段实操

原创
2016-06-07 16:13:46 776浏览

以下的文章教会你如何在MySQLOracle数据库中创建自动递增字段的实际操作方案,我们大家都知道Oracle(大型网站数据库平台)数据库初学者所必须知道的100个问题如以下所示,望你看完会有所收获。 Oracle(大型网站数据库平台) PL/SQL语言基础 Oracle(大型网站数

以下的文章教会你如何在MySQL&Oracle数据库中创建自动递增字段的实际操作方案,我们大家都知道Oracle(大型网站数据库平台)数据库初学者所必须知道的100个问题如以下所示,望你看完会有所收获。

Oracle(大型网站数据库平台) PL/SQL语言基础

Oracle(大型网站数据库平台)架构的基础知识(入门级)

简单的Oracle(大型网站数据库平台)存储过程的创建方法(菜

Oracle(大型网站数据库平台)中的各种数据类型详细的介绍

Oracle(大型网站数据库平台)触发器详细介绍

简单的Oracle(大型网站数据库平台)存储过程的创建方法

Oracle(大型网站数据库平台)的初学者入门心得

Oracle(大型网站数据库平台)的nvl函数的用法

Oracle(大型网站数据库平台)开发中序列的使用

如何在MySQL&Oracle(大型网站数据库平台)下创建自动递增字段

在MySQL(和PHP搭配之最佳组合)下创建自动递增字段:

create table article

先创建一个表。

(

id int Prima(最完善的虚拟主机管理系统)ry key auto_increment,

设置该字段为自动递增字段。

  1. title varchar(255)
  2. );
  3. insert into article values (null,'a');

向数据库中插入数据。

select * from article; 结果如下:

  1. Id
  2. Title
  3. 1
  4. a
  5. insert into article values (null,’b’);
  6. insert into article values (null,'c');
  7. insert into article (title) values ('d');

select * from article; 结果如下:

  1. Id
  2. Title
  3. 1
  4. a
  5. 2
  6. b
  7. 3
  8. c
  9. 4
  10. d

但是Oracle(大型网站数据库平台)没有这样的功能,但是通过触发器(trigger)和序列(sequence)可以实现。

假设关键字段为id,建一个序列,代码为:

  1. create sequence seq_test_ids
  2. minvalue 1
  3. maxvalue 99999999
  4. start with 1
  5. increment by 1
  6. nocache
  7. order;

建解发器代码为:

  1. create or replace trigger tri_test_id
  2. before insert on test_table
  3. for each row
  4. declare
  5. nextid number;
  6. begin
  7. IF :new.id IS NULLor :new.id=0 THEN
  8. select seq_test_id.nextval
  9. into nextid
  10. from sys.dual;
  11. :new.id:=nextid;
  12. end if;
  13. end tri_test_id;

OK,上面的代码就可以实现自动递增的功能了。

以上的相关内容就是对在MySQL&Oracle创建自动递增字段的介绍,望你能有所收获。


声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。