Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Klucze SQL, MUL vs PRI vs UNI

DESCRIBE <table>; 

To jest właściwie skrót do:

SHOW COLUMNS FROM <table>;

W każdym razie istnieją trzy możliwe wartości atrybutu „Klucz”:

  1. PRI
  2. UNI
  3. MUL

Znaczenie PRI i UNI są całkiem jasne:

  • PRI => klucz podstawowy
  • UNI => unikalny klucz

Trzecia możliwość, MUL , (o który pytałeś) jest w zasadzie indeksem, który nie jest ani kluczem podstawowym, ani kluczem unikalnym. Nazwa pochodzi od słowa „wiele”, ponieważ dozwolone jest wielokrotne wystąpienie tej samej wartości. Prosto z dokumentacji MySQL :

Jeśli Key to MUL , kolumna jest pierwszą kolumną nieunikatowego indeksu, w której dozwolone jest wielokrotne wystąpienie danej wartości w obrębie kolumny.

Jest też ostatnie zastrzeżenie:

Jeśli więcej niż jedna z wartości klucza dotyczy danej kolumny tabeli, klucz wyświetla tę o najwyższym priorytecie w kolejności PRI , UNI , MUL .

Ogólnie rzecz biorąc, dokumentacja MySQL jest całkiem dobra. Jeśli masz wątpliwości, sprawdź to!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zarządzanie kontami użytkowników, role, uprawnienia, uwierzytelnianie PHP i MySQL - Część 4

  2. MySQL MariaDB – zapytanie przy użyciu tabeli temp

  3. Optymalne ustawienia MySQL dla zapytań dostarczających duże ilości danych?

  4. Wyszukiwanie geograficzne (odległość) w PHP/MySQL (wydajność)

  5. Jak mogę pominąć dane wyjściowe nagłówka kolumny dla pojedynczej instrukcji SQL?