有時候在我們的表裡可以通過某個列或者某些列確定唯一的一條記錄,我們就可以把這個列或者這些列稱為候選鍵
。比如在學生資訊表student_info
中,只要我們知道某個學生的學號,就可以確定乙個唯一的學生資訊,也就是一條記錄。當然,我們也可以通過身份證號來確定唯一的一條學生資訊記錄,所以學號
和身份證號
都可以作為學生資訊表的候選鍵
。在學生成績表student_score
中,我們可以通過學號
和科目
這兩個列的組合來確定唯一的一條成績記錄,所以學號、科目
這兩個列的組合可以作為學生成績表的候選鍵
。
乙個表可能有多個候選鍵,我們可以選擇乙個候選鍵作為表的主鍵
。從定義中就可以看出,乙個表最多只能有乙個主鍵,主鍵的值不能重複,通過主鍵可以找到唯一的一條記錄。
候選鍵:主鍵,唯一約束,其他候選鍵。候選鍵可以是由**中某一列或者是某些列組成。
主鍵和唯一約束 系統會自動上索引,只有加上索引的列(某些列組合)才能成為其他表的外來鍵。
當乙個屬性不能單獨成為主碼的時候,可以配合其他屬性聯合組成主碼
不過當乙個屬性單獨可以構成主碼時再聯合其他屬性,就多餘了!!
我和樓下的兩位是乙個意思,只是我沒表達清楚
主碼可以有多個字段,但是乙個表只能有乙個主碼
在sql裡面,設計表的時候,按住ctrl鍵,然後點你要設定為主碼的
字段,然後再點上面那個小鑰匙樣子的按鈕,就可以設定多個欄位為
主碼
MySQL唯一約束,主鍵,外來鍵
唯一約束 新增方法 id int unique alter table customers add constraint uq unique id 刪除方法 alter table customers drop index uq 主鍵作用 primary key unique not null 新增...
唯一約束,主鍵約束,唯一索引
1.unique約束和primary key約束用來保證同一表中指定的列上沒有重複值,這兩個約束都產生唯一索引確保資料一致性,預設情況下,unique約束產生唯一的非聚集索引,primary key約束產生唯一的聚集索引。primary key約束比unique約束嚴格 primary key列不允...
sqlite主鍵與唯一約束
主鍵和約束鍵概念 rimary key 設定主鍵 unique 唯一約束 create table if not exists manager id integer primary key autoincrement title text unique,field department text,f...