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

SQL-nøgler, MUL vs PRI vs UNI

DESCRIBE <table>;

Dette er faktisk en genvej til:

SHOW COLUMNS FROM <table>;
 

Under alle omstændigheder er der tre mulige værdier for "Key"-attributten:

  1. PRI
  2. UNI
  3. MUL

Betydningen af ​​PRI og UNI er helt klare:

  • PRI => primær nøgle
  • UNI => unik nøgle

Den tredje mulighed, MUL , (som du spurgte om) er dybest set et indeks, der hverken er en primær nøgle eller en unik nøgle. Navnet kommer fra "multiple", fordi flere forekomster af samme værdi er tilladt. Direkte fra MySQL-dokumentationen :

Hvis Key er MUL , er kolonnen den første kolonne i et ikke-unik indeks, hvor flere forekomster af en given værdi er tilladt i kolonnen.

Der er også en sidste advarsel:

Hvis mere end én af nøgleværdierne gælder for en given kolonne i en tabel, viser Key den med højeste prioritet i rækkefølgen PRI , UNI , MUL .

Som en generel note er MySQL-dokumentationen ganske god. Hvis du er i tvivl, så tjek det ud!



  1. Beregn forskel mellem 2 dato/klokkeslæt i Oracle SQL

  2. T-SQL:Sletter alle duplikerede rækker, men beholder én

  3. Vis alle nullbare kolonner i en SQL Server-database

  4. MySQL-forespørgsel GRUPPER EFTER dag / måned / år