程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL&Oracle數據庫創建自動遞增字段實操

MySQL&Oracle數據庫創建自動遞增字段實操

編輯:MySQL綜合教程

以下的文章教會你如何在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. <!--[if !supportLineBreakNewLine]--> 
  9. <!--[endif]--> 

建解發器代碼為:

  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創建自動遞增字段的介紹,望你能有所收獲。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved