Mysql
 sql >> Database >  >> RDS >> Mysql

Chiavi SQL, MUL vs PRI vs UNI

DESCRIBE <table>; 

Questa è in realtà una scorciatoia per:

SHOW COLUMNS FROM <table>;

In ogni caso, sono tre i valori possibili per l'attributo "Chiave":

  1. PRI
  2. UNI
  3. MUL

Il significato di PRI e UNI sono abbastanza chiari:

  • PRI => chiave primaria
  • UNI => chiave univoca

La terza possibilità, MUL , (di cui hai chiesto) è fondamentalmente un indice che non è né una chiave primaria né una chiave univoca. Il nome deriva da "multiplo" perché sono consentite più occorrenze dello stesso valore. Direttamente dalla documentazione MySQL :

Se Key è MUL , la colonna è la prima colonna di un indice non univoco in cui sono consentite più occorrenze di un determinato valore all'interno della colonna.

C'è anche un ultimo avvertimento:

Se più di uno dei valori Key si applica a una determinata colonna di una tabella, Key visualizza quello con la priorità più alta, nell'ordine PRI , UNI , MUL .

Come nota generale, la documentazione di MySQL è abbastanza buona. In caso di dubbio, dai un'occhiata!