一.關於Mysql中key的說明
1.Key是空的
該列的值可以重復.
表示該列沒有索引, 或者是一個非唯一的復zhi合索引的非dao前導列.
2.Key是PRI
該列是主鍵的組成部分.
3.Key是UNI
該列是一個唯一值索引的第一列(前導列),並別不能含有空值(NULL).
4.Key是MUL
該列的值可以重復.
該列是一個非唯一索引的前導列(第一列)或者是一個唯一性索引的組成部分但是可以含有空值NULL.
二.擴展
如果對於一個列的定義,同時滿足上述4種情況的多種.
比如一個列既是PRI,又是UNI.
那么"desc 表名"的時候,顯示的Key值按照優先級來顯示 PRI>UNI>MUL,此時,顯示PRI.
-
一個唯一性索引列可以顯示為PRI,並且該列不能含有空值,同時該表沒有主鍵
-
一個唯一性索引列可以顯示為MUL, 如果多列構成了一個唯一性復合索引
因為雖然索引的多列組合是唯一的,比如ID+NAME是唯一的,但是沒一個單獨的列依然可以有重復的值.
只要ID+NAME是唯一的即可.