auto increment

1.auto increment字段

描述:我們通常希望在每次插入新記錄的時候,自動地創建主鍵字段的值。我們可以在表中創建一個auto-increment字段。

1)、MySQL的語法:

create table persons

(

id int not null auto_increment,

name varchar(255) not null,

primary key(id)

)

註釋:MySQL使用auto_increment關鍵字來執行auto-increment任務。默認地,auto_increment的開始值是1,每條新記錄遞增1.

要讓auto_increment序列以及其他的值起始,請使用下面的語句:

alter table persons auto_increment=100

2)、SQL Server的語法

create table persons

(

in int  primary key identity,

name varchar(255)

)

註釋:SQL Server使用identity關鍵字來執行auto-increment任務。默認的,identity的開始值是1,每條記錄遞增1.

要讓表中的id以20起且遞增2,請把identity改爲identity(20,2) 如:

create table persons

(

in int  primary key identity(20,2),

name varchar(255)

)

3)、Access的語法

create table persons

(

id int primary key autoincrement,

name varchar(255)

)

註釋:MS Access使用autoincrement 關鍵字來執行auto-increment任務。默認地,autoincrement的開始值是1,每條新記錄遞增1.

要讓表中的id以20起且遞增2,請把autoincrement改爲autoincrement(20,2) 如:

create table persons

(

id int primary key autoincrement(20,2),

name varchar(255)

)

4)、Oracle語法

在Oracle 中,代碼稍微複雜一點。

你必須通過sequence對創建auto-increment字段(該對象生成數字序列)。

使用下面的create sequence 語法

create sequence seq_person

minvalue 1

start with 1

increment by 1

cache 10

上面的代碼創建名爲seq_person的序列對象,它以1起始且以1遞增。改對象緩存10個值以提高性能。cache選項規定了爲訪問速度要存儲多少個序列值。

在表“persons”中插入新記錄,我們必須使用nextval函數(該函數從seq_person序列中取回下一個值):

insert  into persons (id,name) values (seq_person.nextval,'lars')

發佈了65 篇原創文章 · 獲贊 10 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章