課程
/數據庫
/MySQL
/與MySQL的零距離接觸
這一節聽得比較模糊,primary key 約束和unique key約束在實際應用中到底有什么區別?
2017-02-16
源自:與MySQL的零距離接觸 2-13
正在回答
兩者都是不允許重復的,primary key是用來唯一確定所在的記錄的,所以不能為空,而unique key可以為空。比如一個學生表,有學號 “id” 和 學號的md5值 “md5” 兩個field,那么通常情況,“id”就可以作為primary key, 而“md5”可以是unique key
舉個栗子:
當你在LOL的一個新區創號的時候
拳頭的設計師對創建姓名使用的應該就是非空唯一約束(也可能是更高級的東西吧),所以你輸入一個被用過的名字時就會提示“該名稱已被使用,請重新輸入”
而如果他們用的是主鍵約束的話,提示的就應該是“這個大區已經有一個名字了,滾吧!”
qq_kop_0
主鍵約束(PRIMARY KEY)
1) 主鍵用于唯一地標識表中的每一條記錄,可以定義一列或多列為主鍵。?2) 是不可能(或很難)更新.?3) 主鍵列上沒有任何兩行具有相同值(即重復值),不允許空(NULL).?4) 主健可作外健,唯一索引不可;
唯一性約束(UNIQUE KEY)
1) 唯一性約束用來限制不受主鍵約束的列上的數據的唯一性,用于作為訪問某行的可選手段,一個表上可以放置多個唯一性約束.?2) 只要唯一就可以更新.?3) 即表中任意兩行在 指定列上都不允許有相同的值,允許空(NULL).?4) 一個表上可以放置多個唯一性約束
大部分是些理論知識,簡單地說:
一個表只能由一個主鍵,一個表可以有很多個唯一鍵
主鍵不允許有null值,UNIQUE允許null值
舉報
本課程涵蓋全部MySQL數據庫的基礎,學習MySQL數據庫的基礎知識
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-02-16
兩者都是不允許重復的,primary key是用來唯一確定所在的記錄的,所以不能為空,而unique key可以為空。比如一個學生表,有學號 “id” 和 學號的md5值 “md5” 兩個field,那么通常情況,“id”就可以作為primary key, 而“md5”可以是unique key
2017-04-27
舉個栗子:
當你在LOL的一個新區創號的時候
拳頭的設計師對創建姓名使用的應該就是非空唯一約束(也可能是更高級的東西吧),所以你輸入一個被用過的名字時就會提示“該名稱已被使用,請重新輸入”
而如果他們用的是主鍵約束的話,提示的就應該是“這個大區已經有一個名字了,滾吧!”
2017-02-16
主鍵約束(PRIMARY KEY)
1) 主鍵用于唯一地標識表中的每一條記錄,可以定義一列或多列為主鍵。?
2) 是不可能(或很難)更新.?
3) 主鍵列上沒有任何兩行具有相同值(即重復值),不允許空(NULL).?
4) 主健可作外健,唯一索引不可;
唯一性約束(UNIQUE KEY)
1) 唯一性約束用來限制不受主鍵約束的列上的數據的唯一性,用于作為訪問某行的可選手段,一個表上可以放置多個唯一性約束.?
2) 只要唯一就可以更新.?
3) 即表中任意兩行在 指定列上都不允許有相同的值,允許空(NULL).?
4) 一個表上可以放置多個唯一性約束
大部分是些理論知識,簡單地說:
一個表只能由一個主鍵,一個表可以有很多個唯一鍵
主鍵不允許有null值,UNIQUE允許null值