以下的文章教會你如何在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,
設置該字段為自動遞增字段。
- title varchar(255)
- );
- insert into article values (null,'a');
向數據庫中插入數據。
select * from article; 結果如下:
- Id
- Title
- 1
- a
- insert into article values (null,’b’);
- insert into article values (null,'c');
- insert into article (title) values ('d');
select * from article; 結果如下:
- Id
- Title
- 1
- a
- 2
- b
- 3
- c
- 4
- d
但是Oracle(大型網站數據庫平台)沒有這樣的功能,但是通過觸發器(trigger)和序列(sequence)可以實現。
假設關鍵字段為id,建一個序列,代碼為:
- create sequence seq_test_ids
- minvalue 1
- maxvalue 99999999
- start with 1
- increment by 1
- nocache
- order;
- <!--[if !supportLineBreakNewLine]-->
- <!--[endif]-->
建解發器代碼為:
- create or replace trigger tri_test_id
- before insert on test_table
- for each row
- declare
- nextid number;
- begin
- IF :new.id IS NULLor :new.id=0 THEN
- select seq_test_id.nextval
- into nextid
- from sys.dual;
- :new.id:=nextid;
- end if;
- end tri_test_id;
OK,上面的代碼就可以實現自動遞增的功能了。
以上的相關內容就是對在MySQL&Oracle創建自動遞增字段的介紹,望你能有所收獲。