Unikalny klucz w MySQL to pojedyncze pole lub kombinacja pól, które zapewniają, że wszystkie wartości przechowywane w kolumnie będą unikalne. Oznacza to, że kolumna nie może przechowywać zduplikowane wartości . Na przykład adresy e-mail i numery rejestracyjne studentów w tabeli „Informacje o_studencie” lub numer kontaktowy pracowników w tabeli „Pracownik” powinny być unikalne.
dekodowanie javascript base64
MySQL pozwala nam używać w tabeli więcej niż jednej kolumny z ograniczeniem UNIQUE. Może przyjąć A zero wartość, ale MySQL dopuszcza tylko jedną wartość null na kolumnę. Zapewnia uczciwość kolumny lub grupy kolumn w celu przechowywania różnych wartości w tabeli.
Potrzeby unikalnego klucza
- Jest to przydatne, aby zapobiec zapisywaniu identycznych wartości w kolumnie przez dwa rekordy.
- Przechowuje tylko odrębne wartości, które utrzymują integralność i niezawodność bazy danych w zakresie dostępu do informacji w zorganizowany sposób.
- Działa również z kluczem obcym, zachowując niepowtarzalność tabeli.
- Może zawierać wartość null w tabeli.
Składnia
Do utworzenia unikalnego klucza używana jest następująca składnia MySQL-a .
Jeśli chcemy utworzyć w tabeli tylko jedną unikalną kolumnę kluczową, użyj poniższej składni:
CREATE TABLE table_name( col1 datatype, col2 datatype UNIQUE, ... );
Jeśli chcemy utworzyć w tabeli więcej niż jedną unikalną kolumnę kluczową, użyj poniższej składni:
CREATE TABLE table_name( col1 col_definition, col2 col_definition, ... [CONSTRAINT constraint_name] UNIQUE(column_name(s)) );
Jeśli nie określiliśmy nazwy dla ograniczenia unikalności, MySQL automatycznie generuje nazwę dla tej kolumny. Dlatego zaleca się używanie nazwy ograniczenia podczas tworzenia tabeli.
Wyjaśnienie parametrów
Poniższa tabela szczegółowo wyjaśnia parametry.
| Nazwa parametru | Opisy |
|---|---|
| Nazwa tabeli | Jest to nazwa tabeli, którą zamierzamy utworzyć. |
| kol1, kol2 | To nazwy kolumn zawarte w tabeli. |
| nazwa_ograniczenia | Jest to nazwa unikalnego klucza. |
| nazwy_kolumn | To nazwy kolumn będą unikalnym kluczem. |
Unikalny kluczowy przykład
Poniższy przykład wyjaśnia, w jaki sposób unikalny klucz jest używany w MySQL.
Ta instrukcja tworzy tabelę „ Student2 ' z UNIKALNYM ograniczeniem:
CREATE TABLE Student2 ( Stud_ID int NOT NULL UNIQUE, Name varchar(45), Email varchar(45), Age int, City varchar(25) );
Następnie wykonaj zapytania wstawiające wymienione poniżej, aby zrozumieć, jak to działa:
mysql> INSERT INTO Student2 (Stud_ID, Name, Email, Age, City) VALUES (1, 'Peter', '[email protected]', 22, 'Texas'), (2, 'Suzi', '[email protected]', 24, 'California'), (3, 'Joseph', '[email protected]', 23, 'Alaska'); mysql> INSERT INTO Student2 (Stud_ID, Name, Email, Age, City) VALUES (1, 'Stephen', '[email protected]', 22, 'Texas');
Wyjście
Na poniższym wyjściu widzimy, że to pierwsze WSTAW zapytanie wykonuje się poprawnie, ale druga instrukcja kończy się niepowodzeniem i wyświetla błąd: Zduplikowany wpis „1” dla klucza Stud_ID.
Jeśli chcesz zdefiniować unikalny klucz on wiele kolumn , użyj zapytania jak poniżej:
CREATE TABLE Student3 ( Stud_ID int, Roll_No int, Name varchar(45) NOT NULL, Email varchar(45), Age int, City varchar(25), CONSTRAINT uc_rollno_email Unique(Roll_No, Email) );
W wynikach widzimy, że unikalna wartość klucza zawiera dwie kolumny Nr rolki I E-mail .
Aby to sprawdzić, wykonaj następującą instrukcję:
mysql> SHOW INDEX FROM Student3;
Tutaj widzimy, że ograniczenie unikalne zostało pomyślnie dodane do tabeli:
UPUŚĆ Unikalny klucz
Instrukcja ALTER TABLE pozwala nam również usunąć unikalny klucz z tabeli. Do upuszczenia unikalnego klucza używana jest następująca składnia:
ALTER TABLE table_name DROP INDEX constraint_name;
W powyższej składni, Nazwa tabeli to nazwa tabeli, którą chcemy zmodyfikować, oraz nazwa_ograniczenia to nazwa unikalnego klucza, który zamierzamy usunąć.
Przykład
Ta instrukcja usunie uc_rollno_email ograniczenie z tabeli na stałe.
mysql> ALTER TABLE Student3 DROP INDEX uc_rollno_email;
W tym celu możemy wykonać instrukcję SHOW INDEX.
Unikalny klucz za pomocą instrukcji ALTER TABLE
Ta instrukcja pozwala nam dokonać modyfikacji w istniejącej tabeli. Czasami chcemy dodać unikalny klucz do kolumny istniejącej tabeli; następnie ta instrukcja służy do dodania unikalnego klucza dla tej kolumny.
Składnia
Poniżej znajduje się składnia instrukcji ALTER TABLE umożliwiającej dodanie unikalnego klucza:
ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE(column_list);
Przykład
Ta instrukcja tworzy tabelę „ Studenci 3 ', które nie mają unikalnej kolumny klucza w definicji tabeli.
CREATE TABLE Student3 ( Stud_ID int, Roll_No int, Name varchar(45) NOT NULL, Email varchar(45), Age int, City varchar(25) );
Jeśli po utworzeniu tabeli chcemy dodać do niej unikalny klucz, musimy wykonać instrukcję ALTER TABLE jak poniżej:
mysql> ALTER TABLE Student3 ADD CONSTRAINT uc_rollno_email UNIQUE(Roll_No, Email);
Widzimy wynik, w którym obie instrukcje zostały pomyślnie wykonane.
Aby to sprawdzić, wykonaj następującą instrukcję:
mysql> SHOW INDEX FROM Student3;
Tutaj widzimy, że ograniczenie unikalne zostało pomyślnie dodane do tabeli: