1. 程式人生 > >PRIMARY KEY與identity(1,1)的比較

PRIMARY KEY與identity(1,1)的比較

PRIMARY KEY 約束

表中經常有一個列或列的組合,其值能唯一地標識表中的每一行。

這樣的一列或多列稱為表的主鍵,通過它可強制表的實體完整性。

當建立或更改表時可通過定義 PRIMARY KEY 約束來建立主鍵。

 

一個表只能有一個 PRIMARY KEY 約束,而且 PRIMARY KEY 約束中的列不能接受空值。

由於 PRIMARY KEY 約束確保唯一資料,所以經常用來定義標識列。

 

如果 PRIMARY KEY 約束定義在不止一列上,則一列中的值可以重複,但 PRIMARY KEY 約束定義中的所有列的組合的值必須唯一。

 
  IDENTITY(屬性)(Transact-SQL)
 
 

在表中建立一個標識列。    
此屬性與 CREATE TABLE 和 ALTER TABLE Transact-SQL 語句一起使用。   

IDENTITY 屬性與 SQL-DMO Identity 屬性不同,後者提供的是列的行標識屬性。

適用範圍:SQL Server(SQL Server 2008 至 當前版本)。

語法


IDENTITY [ (seed , increment) ]
引數
seed
載入到表中的第一個行所使用的值。


increment
與前一個載入的行的標識值相加的增量值。

必須同時指定種子和增量,或者二者都不指定。    如果二者都未指定,則取預設值 (1,1)。  

總結如下:

primary key是主鍵,一般用於一列,其值不能為空,且值唯一。也可以用於多列,多列的組合值是唯一的。

identity是屬性,自增列。預設情況下 INSERT 語句中,不能對 IDENTITY 的欄位進行賦值。

相關推薦

PRIMARY KEYidentity(1,1)的比較

PRIMARY KEY 約束 表中經常有一個列或列的組合,其值能唯一地標識表中的每一行。 這樣的一列或多列稱為表的主鍵,通過它可強制表的實體完整性。 當建立或更改表時可通過定義 PRIMARY KEY 約束來建立主鍵。  一個表只能有一個 PRIMARY KEY 約束,而

同時建立主鍵 PRIMARY KEY 聚集索引 Clustered Index 的先後順序

                主鍵(PRIMARY KEY)與聚集索引(Clustered Index)的對比可以參看我之前的部落格:SQL Server 索引基礎知識(4)----主鍵與聚集索引   一個表最多一個主鍵,最多一個聚集索引。  資料庫在建立主鍵同時,會自動建立一個唯一索引。如果這個表之前沒有

SQLite中的自增關鍵字:AUTO_INCREMENT、INTEGER PRIMARY KEYAUTOINCREMENT

1、SQLite不支援關鍵字AUTO_INCREMENT 1)AUTO_INCREMENT不生效的問題 SQL語句: CREATE TABLE todo (     id INTEGER AUTO_INCREMENT,     title TEXT,     PRI

Algs4-1.4.38 3-sum的初級算法ThreeSum性能比較

ring font pub photo == aps gtest bsp data- 1.4.38 3-sum的初級算法的實現。通過實驗評估以下ThreeSum內循環的實現性能:for(int i=0;i<N;i++) for(int j=0;j<N;j+

HTTP 1.1HTTP 1.0的比較

 HTTP 1.1與HTTP 1.0的比較 一個WEB站點每天可能要接收到上百萬的使用者請求,為了提高系統的效率,HTTP 1.0規定瀏覽器與伺服器只保持短暫的連線,瀏覽器的每次請求都需要與伺服器建立一個TCP連線,伺服器完成請求處理後立即斷開TCP連線,伺服器不跟蹤

python-關於None,NaN , 空字元的比較處理(1

【問題描述】在python中經常會遇到這三個特殊值情況。尤其是匯入資料檔案時,就會遇到這種問題(如csv檔案、資料庫資料等),這些型別的資料在函式中使用需要十分小心。下面對該型別資料進行分析。【型別分析】from numpy import NaN from pandas im

1、OIONIO程式碼示例比較

傳統socket服務端,程式碼示例 package OIO; import java.io.IOException; import java.io.InputStream; import java.net.ServerSocket; import ja

新專案舊專案的比較-1

進入新專案不到一個月,簡單談談新專案與舊專案的一些比較。 1、氛圍比較 我剛進舊專案時,是專案經理放任不管的,對我這個新人完全交給了所謂的師傅,生殺大權就由她了,可偏偏不巧的是,遇到的是一個徹頭徹尾的小人,人品極差,而當時專案偏偏又是由於前面的同事辭職,她當上了核心,其實現

HTTP狀態碼及HTTP 1.1HTTP 1.0的比較

HTTP 1.1與HTTP 1.0的比較 一個WEB站點每天可能要接收到上百萬的使用者請求,為了提高系統的效率,HTTP 1.0規定瀏覽器與伺服器只保持短暫的連線,瀏覽器的每次請求都需要與伺服器建立一個TCP連線,伺服器完成請求處理後立即斷開TCP連

1.1 面向對象 對象引用方法引用

out 對象 進行 name static [] 年齡 屬性 面向 public class Demo1 { public static void main(String[] args) { //定義的類需要依靠對象進行操作,給出對象的格式 //類名稱 對象名稱

Mysql中keyprimary key 、unique key index區別

條件 那是 database 表空間 可用 where 進行 utf8 擁有 索引被用來快速找出在一個列上用一特定值的行。沒有索引,MySQL不得不首先以第一條記錄開始並然後讀完整個表直到它找出相關的行。 表越大,花費時間越多。如果表對於查詢的列有一個索引,MySQL能快

fsockopenHTTP 1.1/HTTP 1.0

fwrite 詳細 odi com 詳細介紹 區別 connect func 阻塞 在前面的例子中,HTTP請求信息頭有些指定了 HTTP 1.1,有些指定了 HTTP/1.0,有些又沒有指定,那麽他們之間有什麽區別呢? 關於HTTP 1.1與HTTP 1.0的一些基本情況

通用財經數據傳輸監控平臺1.0(泛型,接口基類,Sql,Ibatis,Awt,Swing)

自動 構造 sea 獲得 doc stat dup per hot 導言 本系統通過訪問url接口,實現財經數據的獲取以及實時的更新到用戶本地數據庫的功能,並且配備了實時的數據傳輸的監控平臺。通過本系統,用戶可以的得到並保存所需的財經數據(超過200張表),並能實時的查

1.1命令格式目錄處理命令ls

nbsp etc 等於 所有 信息 大小 其他 需要 文件大小 一,命令格式 命令格式:命令 【-選項】【參數】   例如:ls -l /etc, ls -al /etc 說明:1,個別命令使用不必遵循該格式    2,當有多個選項時,可以寫在一起,如:ls -al ,l

HTTP/2和HTTP/1.1比較

http請求 實現 demo .com 多路復用 而且 性能 字段 支持 前幾天發現了一個對HTTP/2和HTTP/1.1之間比較直觀的比較的演示,是Akamai公司給出的官方演示。https://http2.akamai.com/demo HTTP/2 相比於之前的 H

【數據結構算法分析——C語言描述】練習1.1——選擇問題

problem 內容 語言 log %d include oid define signed 本部分內容來自http://www.cnblogs.com/mingc,筆者在此只用於整理學習。 問題描述:編寫一個程序解決選擇問題。令k=N/2。畫出表格顯示你的程序對於N為

iOS 11.1Beta11.0.1比速度 提高不明顯

緬甸鉆石國際 緬甸鉆石國際開戶 <h1 class="article-title" background-color:#ffffff;"="" style="font-family: "sans serif", tahoma, verdana, helvetica; white-space: n

c++ 類對象(1)

意義 c++ 類 操作 兩種方法 protected ble cos const ++ class Book{ private : string book_name; double book_cost; int book_price; publi

V-1-1 Vmware桌面虛擬化環境搭建之ESXi安裝配置

vmware vdi esxi 首先將刻錄好的優盤(光盤)插入服務器,並且在啟動選項中選中對應的設備。如何刻錄請參考文檔:O-4 ISO的刻錄如圖所示,將會自動進入安裝進度條當進度條讀取完畢後,可以看到黑黃相間的畫面,其中會顯示安裝的版本,如圖為5.5版本。在加載界面加載完畢後會出現如下畫面,根據