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

Mysql,SqlServer,Oracle主鍵自動增長的設置

編輯:MySQL綜合教程


Mysql,SqlServer,Oracle主鍵自動增長的設置   1、把主鍵定義為自動增長標識符類型 在mysql中,如果把表的主鍵設為auto_increment類型,數據庫就會自動為主鍵賦值。例如: create table customers(id int auto_increment primary key not null, name varchar(15)); insert into customers(name) values("name1"),("name2"); select id from customers; 以上sql語句先創建了customers表,然後插入兩條記錄,在插入時僅僅設定了name字段的值。最後查詢表中id字段,查詢結果為:  www.2cto.com   id 1 2
  由此可見,一旦把id設為auto_increment類型,mysql數據庫會自動按遞增的方式為主鍵賦值。 在MS SQLServer中,如果把表的主鍵設為identity類型,數據庫就會自動為主鍵賦值。例如: create table customers(id int identity(1,1) primary key not null, name varchar(15)); insert into customers(name) values("name1"),("name2"); select id from customers;  查詢結果和mysql的一樣。由此可見,一旦把id設為identity類型,MS SQLServer數據庫會自動按遞增的方式為主鍵賦值。identity包含兩個參數,第一個參數表示起始值,第二個參數表示增量。 2、從序列中獲取自動增長的標識符 在Oracle中,可以為每張表的主鍵創建一個單獨的序列,然後從這個序列中獲取自動增加的標識符,把它賦值給主鍵。例如一下語句創建了一個名為customer_id_seq的序列,這個序列的起始值為1,增量為2。
  create sequence customer_id_seq increment by 2 start with 1 一旦定義了customer_id_seq序列,就可以訪問序列的curval和nextval屬性。 curval:返回序列的當前值  www.2cto.com   nextval:先增加序列的值,然後返回序列值 以下sql語句先創建了customers表,然後插入兩條記錄,在插入時設定了id和name字段的值,其中id字段的值來自於customer_id_seq序列。最後查詢customers表中的id字段。 create table customers(id int primary key not null, name varchar(15)); insert into customers values(customer_id_seq.curval, "name1"),(customer_id_seq.nextval, "name2"); select id from customers; 如果在oracle中執行以上語句,查詢結果為: id 1 3

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