關於mysql中 主鍵 pri mul

2021-06-06 00:41:32 字數 516 閱讀 5148

1. 如果key是空的, 那麼該列值的可以重複, 表示該列沒有索引, 或者是乙個非唯一的復合索引的非前導列

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是唯一的即可

mysql關於主鍵和索引

一 主鍵和索引的區別 主鍵 惟一地標識一行,作為乙個可以被外來鍵有效引用的物件。二 索引的建立 檢視 刪除 mysql create index 索引名 on 表名 欄位名 100 text欄位要指定長度,可以小於實際長度 mysql show index from 表名 mysql drop 索引...

關於 mysql 主鍵自增問題

mysql 引擎 innodb引擎 低版本 innodb表中把自增列作為主鍵id時,自增列是通過auto increment計數器實現的,計數器的最大值是記錄到記憶體中的,重啟資料庫後,會導致auto increment計數器重置,從而會導致主鍵id重置。myisam引擎 myisam表會把自增列 ...

mysql主鍵自增和oracle中主鍵使用序列

在我們的開發工作中,我們經常需要進行資料的插入,那麼資料的插入如何保證每條資料有個唯一的標識呢?這個時候,我們就需要主鍵,主鍵是不可重複的。那麼,在mysql和oracle中,我們需要怎麼保證插入的資料不重複呢?在平常的需求開發中,我們經常會使用到mybatis框架。那麼,今天就結合mybatis框...