MySQL 和 Oracle 主鍵自增加

一、MySQL      

1.一、建表html

 auto_increment:每插入一條數據,客戶表(customers)的主鍵id就自動增1,以下所示web

 1 create table customers -- 建立客戶表  2 (  3     id int auto_increment primary key not null, -- auto_increment:自增加  4     name varchar(15)  5 );  6

1.二、測試(實例)sql

1 insert into customers(name) values("張三"),("李四");-- 向客戶表中插入數據
2 
3 select * from customers; -- 查詢客戶表

 

 

二、Oracle      

2.一、建表oracle

 1 create table student
 2 (
 3   id       number not null,  -- 主鍵
 4   name     varchar2(20),
 5     date, 
6 age     number(20),
7
phone varchar2(60),
8
email varchar2(10)
9
)
10 alter table student add constraint student_pk primary key (id); -- 主鍵birthday

2.二、建立序列測試

注:Oracle中的序列並非和MySQL中的自增加同樣,連續性的,而是跳躍、不連續性的。如要使他連續,則必須指定相關的屬性和值。spa

 1 /*
 2 --建立序列Sequence
 3 create sequence student_id
 4 minvalue 1  --最小值
 5 nomaxvalue  --不設置最大值(由機器決定),或 根據表字段的值範圍設置 maxvalue
6 maxvalue
7 start with 1 --從1開始計數,數值可變 8 increment by 1 --每次加1,數值可變 9 nocycle --一直累加,不循環 10 nocache; --不建緩衝區。 若是創建cache那麼系統將自動讀取cache值個seq,這樣會加快運行速度;若是在單機中使用cache,或者oracle死了,那麼下次讀取的seq值將不連貫,因此不建議使用cache。 11 */ 12
13 14 -- 建立序列 15 create sequence student_id
16 minvalue 1 17 maxvalue
999
18 increment by 1
19 start with 1
20 nocycle
21 nocache;
99999999 -- 最大值

 Oracle sequence序列的建立、修改及刪除 詳解:http://www.cnblogs.com/dshore123/p/8269537.htmlcode

2.三、建立觸發器 (如下三種方式都行)htm

格式:blog

create or replace trigger 觸發器名 before insert on 表名 for each row when (new.表的自增加字段 is null)
  begin
    select 序列名.Nextval into:new.表的自增加字段 from dual;
  end;
 1 -- 方式一 
 2 create or replace trigger tg_insertId
 3 before insert on student for each row when (new.id is null)  -- 當id爲NULL時觸發 
 4 begin
 5   select student_id.Nextval into:new.id from dual;
 6 end;
7
8
9 -- 方式二 (我比較喜歡這種) 10 create or replace trigger tg_insertId 11 before insert on student for each row 12 begin 13 select student_id.Nextval into:new.id from dual; 14 end;
15
16
17 -- 方式三
18 create or replace trigger tg_insertId
19  before insert on student for each row
20 declare -- 聲明
21  -- 局部變量(student表裏的字段)
22 begin
23  if updating then
24       insert into student
25       values(student_id.nextval,
26              :old.name, -- 對應student表中的字段
27          :old.,
28          :old.age,
29          :old.phone,
30          :old.email

31              );
32  end if;
33 end;

birthday

2.四、測試(實例) 注:因爲建立了觸發器,因此下面的插入語句,不須要再寫上id這一項ci

1 INSERT INTO student(name,birthday,age,phone,email) 2     VALUES('zhangsan',to_date('2018-01-10 19:55:45','yyyy-MM-dd hh24:mi:ss'),18,'13510086110','123456789@qq.com');  -- 插入數據
3
4 INSERT INTO student(name,birthday,age,phone,email) 5 VALUES('zhangsan',to_date('2018-01-11 19:55:45','yyyy-MM-dd hh24:mi:ss'),20,'13510086110','123456789@qq.com');

6
7 8 select * from student; -- 查詢學生表

或者

1  insert into student(seq,name,birthday,age,phone,email) -- 這是帶上「自增加主鍵(seq)」的寫法 2    values(student_id.Nextval,'zhangsan',to_date('2018-01-10 19:55:45','yyyy-MM-dd hh24:mi:ss'),18,'13510086110','123456789@qq.com');

 

 

 

 

 

 

原創做者:DSHORE

做者主頁:http://www.cnblogs.com/dshore123/

原文出自:http://www.cnblogs.com/dshore123/p/8267240.html

歡迎轉載,轉載務必說明出處。(若是本文對您有幫助,能夠點擊一下右下角的 推薦,或評論,謝謝!

 
 
G
M
T
 
檢測語言 世界語 中文簡體 中文繁體 丹麥語 烏克蘭語 烏茲別克語 烏爾都語 亞美尼亞語 伊博語 俄語 保加利亞語 僧伽羅語 克羅地亞語 冰島語 加利西亞語 加泰羅尼亞語 匈牙利語 南非祖魯語 卡納達語 印地語 印尼巽他語 印尼爪哇語 印尼語 古吉拉特語 哈薩克語 土耳其語 塔吉克語 塞爾維亞語 塞索托語 威爾士語 孟加拉語 宿務語 尼泊爾語 巴斯克語 布爾語(南非荷蘭語) 希伯來語 希臘語 德語 意大利語 意第緒語 拉丁語 拉脫維亞語 挪威語 捷克語 斯洛伐克語 斯洛文尼亞語 斯瓦希里語 旁遮普語 日語 格魯吉亞語 毛利語 法語 波蘭語 波斯尼亞語 波斯語 泰盧固語 泰米爾語 泰語 海地克里奧爾語 愛爾蘭語 愛沙尼亞語 瑞典語 白俄羅斯語 立陶宛語 索馬里語 約魯巴語 緬甸語 羅馬尼亞語 老撾語 芬蘭語 苗語 英語 荷蘭語 菲律賓語 葡萄牙語 蒙古語 西班牙語 豪薩語 越南語 阿塞拜疆語 阿爾巴尼亞語 阿拉伯語 韓語 馬其頓語 馬爾加什語 馬拉地語 馬拉雅拉姆語 馬來語 馬耳他語 高棉語 齊切瓦語   世界語 中文簡體 中文繁體 丹麥語 烏克蘭語 烏茲別克語 烏爾都語 亞美尼亞語 伊博語 俄語 保加利亞語 僧伽羅語 克羅地亞語 冰島語 加利西亞語 加泰羅尼亞語 匈牙利語 南非祖魯語 卡納達語 印地語 印尼巽他語 印尼爪哇語 印尼語 古吉拉特語 哈薩克語 土耳其語 塔吉克語 塞爾維亞語 塞索托語 威爾士語 孟加拉語 宿務語 尼泊爾語 巴斯克語 布爾語(南非荷蘭語) 希伯來語 希臘語 德語 意大利語 意第緒語 拉丁語 拉脫維亞語 挪威語 捷克語 斯洛伐克語 斯洛文尼亞語 斯瓦希里語 旁遮普語 日語 格魯吉亞語 毛利語 法語 波蘭語 波斯尼亞語 波斯語 泰盧固語 泰米爾語 泰語 海地克里奧爾語 愛爾蘭語 愛沙尼亞語 瑞典語 白俄羅斯語 立陶宛語 索馬里語 約魯巴語 緬甸語 羅馬尼亞語 老撾語 芬蘭語 苗語 英語 荷蘭語 菲律賓語 葡萄牙語 蒙古語 西班牙語 豪薩語 越南語 阿塞拜疆語 阿爾巴尼亞語 阿拉伯語 韓語 馬其頓語 馬爾加什語 馬拉地語 馬拉雅拉姆語 馬來語 馬耳他語 高棉語 齊切瓦語          
 
 
 
文本轉語音功能僅限200個字符
 
  選項 : 歷史 : 反饋 : Donate 關閉
相關文章
相關標籤/搜索