sql >> Databasteknik >  >> RDS >> Mysql

SQL-nycklar, MUL vs PRI vs UNI

DESCRIBE <table>; 

Detta är faktiskt en genväg för:

SHOW COLUMNS FROM <table>;

Det finns i alla fall tre möjliga värden för "Key"-attributet:

  1. PRI
  2. UNI
  3. MUL

Betydelsen av PRI och UNI är ganska tydliga:

  • PRI => primärnyckel
  • UNI => unik nyckel

Den tredje möjligheten, MUL , (som du frågade om) är i grunden ett index som varken är en primärnyckel eller en unik nyckel. Namnet kommer från "flera" eftersom flera förekomster av samma värde är tillåtna. Direkt från MySQL-dokumentationen :

Om Key är MUL , kolumnen är den första kolumnen i ett icke-unikt index där flera förekomster av ett givet värde är tillåtna i kolumnen.

Det finns också en sista varning:

Om mer än ett av nyckelvärdena gäller för en given kolumn i en tabell, visar Key den med högst prioritet, i ordningen PRI , UNI , MUL .

Som en allmän notering är MySQL-dokumentationen ganska bra. Om du är osäker, kolla in det!



  1. Hur man löser ORA-29285:filskrivfel

  2. Varför kan jag inte utföra en aggregatfunktion på ett uttryck som innehåller ett aggregat men jag kan göra det genom att skapa en ny select-sats runt det?

  3. Få ut det mesta av dina PostgreSQL-index

  4. Hur gör man dejtmatematik som ignorerar årtalet?