基于unique與primary約束的區(qū)別分析
來源:懂視網(wǎng)
責(zé)編:小采
時間:2020-11-09 21:09:48
基于unique與primary約束的區(qū)別分析
基于unique與primary約束的區(qū)別分析: 定義了UNIQUE約束的字段中不能包含重復(fù)值,可以為一個或多個字段定義UNIQUE約束,因此,UNIQUE即可以在字段級也可以在表級定義,在UNIQUE約束的字段上可以包含空值. ORACLE自動會為具有PRIMARY KEY約束的字段(主碼字段)建立一個唯一索引和一個NOT NUL
導(dǎo)讀基于unique與primary約束的區(qū)別分析: 定義了UNIQUE約束的字段中不能包含重復(fù)值,可以為一個或多個字段定義UNIQUE約束,因此,UNIQUE即可以在字段級也可以在表級定義,在UNIQUE約束的字段上可以包含空值. ORACLE自動會為具有PRIMARY KEY約束的字段(主碼字段)建立一個唯一索引和一個NOT NUL
定義了UNIQUE約束的字段中不能包含重復(fù)值,可以為一個或多個字段定義UNIQUE約束,因此,UNIQUE即可以在字段級也可以在表級定義,在UNIQUE約束的字段上可以包含空值. ORACLE自動會為具有PRIMARY KEY約束的字段(主碼字段)建立一個唯一索引和一個NOT NULL約束,定義PRIMARY KEY約束時可以為它的索引; UNIQUED 可空,可以在一個表里的一個或多個字段定義;
PRIMARY KEY不可空不可重復(fù),在一個表里可以定義聯(lián)合主鍵;簡單的說, primary key = unique + not null
unique就是唯一,當你需要限定你的某個表字段每個值都唯一,沒有重復(fù)值時使用. 比如說,如果你有一個person_Info表,并且表中有個身份證的column,那么你就可以指定該字段unique.
從技術(shù)的角度來看,Primary Key和Unique Key有很多相似之處。但還是有以下異同:
相同:它們都屬于實體完整性約束.
不同點:
(1) 唯一性約束所在的列允許空值,但是主鍵約束所在的列不允許空值。
(2) 可以把唯一性約束放在一個或者多個列上,這些列或列的組合必須有唯一的。但是,唯一性約束所在的列并不是表的主鍵列。
(3) 唯一性約束強制在指定的列上創(chuàng)建一個唯一性索引。在默認情況下,創(chuàng)建唯一性的非聚簇索引,但是,也可以指定所創(chuàng)建的索引是聚簇索引。
(4)建立主鍵的目的是讓外鍵來引用.
(5)一個表最多只有一個主鍵,但可以有很多唯一鍵
您可能感興趣的文章:
php下判斷數(shù)組中是否存在相同的值array_uniqueasp.net 服務(wù)器控件的 ID,ClientID,UniqueID 的區(qū)別php array_unique之后json_encode需要注意uniqueidentifier轉(zhuǎn)換成varchar數(shù)據(jù)類型的sql語句php數(shù)組函數(shù)序列之a(chǎn)rray_unique() - 去除數(shù)組中重復(fù)的元素值Mysql中 unique列插入重復(fù)值該怎么解決呢
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
基于unique與primary約束的區(qū)別分析
基于unique與primary約束的區(qū)別分析: 定義了UNIQUE約束的字段中不能包含重復(fù)值,可以為一個或多個字段定義UNIQUE約束,因此,UNIQUE即可以在字段級也可以在表級定義,在UNIQUE約束的字段上可以包含空值. ORACLE自動會為具有PRIMARY KEY約束的字段(主碼字段)建立一個唯一索引和一個NOT NUL