sql >> Database >  >> RDS >> Mysql

SQL-sleutels, MUL versus PRI versus UNI

DESCRIBE <table>; 

Dit is eigenlijk een snelkoppeling voor:

SHOW COLUMNS FROM <table>;

In ieder geval zijn er drie mogelijke waarden voor het kenmerk "Key":

  1. PRI
  2. UNI
  3. MUL

De betekenis van PRI en UNI zijn vrij duidelijk:

  • PRI => primaire sleutel
  • UNI => unieke sleutel

De derde mogelijkheid, MUL , (waar u naar vroeg) is in feite een index die noch een primaire sleutel, noch een unieke sleutel is. De naam komt van "multiple", omdat meerdere exemplaren van dezelfde waarde zijn toegestaan. Rechtstreeks uit de MySQL-documentatie :

Als Key is MUL , is de kolom de eerste kolom van een niet-unieke index waarin meerdere voorkomens van een bepaalde waarde binnen de kolom zijn toegestaan.

Er is ook een laatste voorbehoud:

Als meer dan één van de Key-waarden van toepassing is op een bepaalde kolom van een tabel, geeft Key degene met de hoogste prioriteit weer, in de volgorde PRI , UNI , MUL .

Over het algemeen is de MySQL-documentatie redelijk goed. Bekijk het bij twijfel!



  1. T-SQL - Gegevens in bovenliggende en onderliggende tabellen invoegen

  2. Afdruk samenvoegen doen in Access 2016

  3. Een PostgreSQL-array toewijzen met Hibernate

  4. SQL GROUP BY-clausule voor beginners