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


  本文标签:MySQL&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  

  

  

  但是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;  
  8.  
  9.  

  

  

  建解发器代码为:

  

  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创建自动递增字段的介绍,望你能有所收获  。