課程
/數(shù)據(jù)庫
/MySQL
/與MySQL的零距離接觸
唯一約束在功能上與主鍵約束有什么不同
2014-11-25
源自:與MySQL的零距離接觸 2-13
正在回答
最明顯的區(qū)別漏了:
primary key ===>主鍵約束 ?:非空且唯一
unique key ===>唯一約束 ? :可空,不唯一
例子中id為主鍵約束,非空且唯一,username是唯一約束可空且不唯一
(是說還可以有其他屬性的唯一約束,比如我編一個address地址,這樣如果你insert進一個username不同的,address相同的同樣會報地址無法添加而導(dǎo)致的記錄無法添加)。
1)將主鍵約束diable的時候,那么相應(yīng)的索引也將自動刪除;
2)將唯一約束unusable以后,索引還在,只是將其不可用,使其可用,使用rebuild;
3)主鍵約束與唯一約束都能保證該約束在表內(nèi)唯一。但前者還起到數(shù)據(jù)行定位的效果。排序使用主鍵約束效果更佳!
Vleyong 提問者
舉報
本課程涵蓋全部MySQL數(shù)據(jù)庫的基礎(chǔ),學(xué)習(xí)MySQL數(shù)據(jù)庫的基礎(chǔ)知識
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-02-15
最明顯的區(qū)別漏了:
primary key ===>主鍵約束 ?:非空且唯一
unique key ===>唯一約束 ? :可空,不唯一
例子中id為主鍵約束,非空且唯一,username是唯一約束可空且不唯一
(是說還可以有其他屬性的唯一約束,比如我編一個address地址,這樣如果你insert進一個username不同的,address相同的同樣會報地址無法添加而導(dǎo)致的記錄無法添加)。
2014-11-25
1)將主鍵約束diable的時候,那么相應(yīng)的索引也將自動刪除;
2)將唯一約束unusable以后,索引還在,只是將其不可用,使其可用,使用rebuild;
3)主鍵約束與唯一約束都能保證該約束在表內(nèi)唯一。但前者還起到數(shù)據(jù)行定位的效果。排序使用主鍵約束效果更佳!