MySQL MariaDB

Korzystanie z unikalnych ograniczeń MySQL

Korzystanie z unikalnych ograniczeń MySQL
MySQL CONSTRAINT jest odrzucany w celu opisania reguł, które zezwalają lub ograniczają wartości w polach, które mogą przechowywać lub ograniczać dane, które można wprowadzać do wierszy. Celem nakładania ograniczeń jest utrzymanie wiarygodności bazy danych. Jednym z nich jest ograniczenie UNIQUE.

Ograniczenie UNIQUE gwarantuje, że prawie wszystkie elementy w polu różnią się od siebie. Dla pola lub grupy pól limity UNIKATOWY i PODSTAWOWY KLUCZ wzajemnie dają gwarancję indywidualności. Niemniej jednak możemy mieć kilka UNIKALNYCH ograniczeń w każdym stole, chociaż zamiast tego jeden limit KLUCZU PODSTAWOWEGO dla każdego stołu. Nauczmy się tego, próbując kilku przykładów.

Unikalne ograniczenie poprzez Workbench:

Przede wszystkim musimy dowiedzieć się, jak dodać ograniczenia Unique do tabeli podczas korzystania z MySQL Workbench 8.0. Otwórz nowo zainstalowany program MySQL Workbench 8.0 i połącz go z bazą danych.

W obszarze zapytania należy wpisać poniższe polecenie, aby utworzyć tabelę „Osoba”. Ta tabela ma 4 kolumny z jednym kluczem podstawowym. Musimy określić jedną unikalną kolumnę. Jak widać, wyczyściliśmy kolumnę „Id” jako kolumnę „UNIKALNE”:

>> CREATE TABLE Osoba (ID int PRIMARY KEY NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, UNIQUE (ID));

Teraz utworzono tabelę „Osoba” z kolumną „UNIKALNE” „ID”. Tabelę można znaleźć pod „Nawigator” i „Schematy”, gdy jest ona wymieniona w opcji „Tabele”.

Podczas wstawiania rekordów, po dotknięciu przycisku „Zastosuj”, zostanie przejrzane wstawione rekordy, jak pokazano poniżej. Widać, że mamy jeden zduplikowany rekord w wierszach 3 i 4, który ma ten sam „ID”. Stuknij przycisk „Zastosuj”, aby zastosować zmiany.

Na poniższym obrazku generuje błąd, który zduplikowała kolumna „ID”, czyli wartość „13”.

Po poprawieniu rekordu, kiedy zastosujesz zmiany, będzie on działał poprawnie.

Unikalne ograniczenie w powłoce wiersza poleceń:

W powłoce wiersza poleceń MySQL dodamy UNIKALNE klawisze do jednej lub kilku kolumn. Najpierw otwórz wiersz poleceń, aby rzucić okiem na każdy z poniższych przykładów. Wpisz swoje hasło, aby użyć powłoki poleceń.

Przykład 01: W pojedynczej kolumnie

W tej składni, podobnie jak w specyfikacji kolumn, używamy UNIKATOWEGO terminu, do którego chcesz zastosować prawo unikalności. Gdy wstawimy lub zmienimy wartość, która tworzy duplikaty w określonej kolumnie, modyfikacja zostanie odrzucona przez MySQL i zostanie również podany wyjątek. W tym konkretnym limicie będzie ograniczenie kolumny. Możesz też użyć tego do zaimplementowania unikalnej reguły jednego pola. Oto składnia jednokolumnowego klucza UNIQUE:

>> CREATE TABLE nazwa_tabeli( col typ danych UNIQUE, col typ danych);

Stwórzmy tabelę „dostawca” w bazie danych „dane” z trzema kolumnami. Kolumna „ID” jest zdefiniowana jako „UNIKALNE”.

>> UTWÓRZ dane TABELI.dostawca( id INT AUTO_INCREMENT NOT NULL UNIQUE, Nazwa VARCHAR(50) NOT NULL, Obszar VARCHAR(50));

Po sprawdzeniu widać, że tabela nie ma jeszcze żadnych rekordów.

>> WYBIERZ * Z danych.dostawca;

Wstawmy rekordy do tabeli. Pierwszy rekord zostanie wstawiony do tabeli płynnie, jak pokazano poniżej.

Drugi rekord zostanie ponownie wstawiony płynnie, ponieważ nie ma zduplikowanych wartości w kolumnie „ID”. Z drugiej strony przyjmuje taką samą wartość, jak w pierwszym zapytaniu w kolumnie „Obszar”.

Po wstawieniu trzeciego rekordu podaliśmy zduplikowaną wartość „1”, tak jak podaliśmy w pierwszym oświadczeniu INSERT. Wygeneruje błąd, że kolumna „ID” otrzymuje zduplikowaną wartość, jak pokazano na poniższym obrazku.

Podczas ponownego sprawdzania możesz zauważyć, że tabela zawiera tylko rekord dwóch pierwszych instrukcji INSERT. Chociaż nie ma rekordu z trzeciej instrukcji wstawiania.

>> WYBIERZ * Z danych.dostawca;

Przykład 02: na wielu kolumnach

W tym formacie, po słowie UNIQUE, stosujemy zestaw kolumn oddzielonych przecinkami w nawiasach. Kompozycja wartości w polach col1 i col2 jest używana przez MySQL do określenia unikalności.

>> CREATE TABLE nazwa_tabeli( typ danych col1, typ danych col2, UNIQUE(col1,col2));

Tworzymy tabelę „minister” w bazie danych „data” z pięcioma kolumnami. Kolumna „ID” jest zdefiniowana jako „UNIKALNE” i „PRIMARY”. Słowo kluczowe „CONSTRAINT” służy do nazwania unikalnego ograniczenia klucza jako „uc_add_sal”. Słowo kluczowe „UNIQUE” służy do zdefiniowania ograniczenia typu UNIQUE dla kolumn określonych w nawiasach, e.sol., Adres i „Wynagrodzenie”. Teraz mamy w sumie trzy kolumny z ograniczeniem „UNIKALNE”.

>> UTWÓRZ dane TABELI.minister( Mid INT AUTO_INCREMENT PRIMARY KEY NOT NULL UNIQUE, Name VARCHAR(50) NOT NULL, Address VARCHAR(50), Job VARCHAR(50), Salary VARCHAR(50), CONSTRAINT uc_add_sal UNIQUE (Adres, Salary));

Po sprawdzeniu stołu widać, że stół jest teraz pusty.

>> WYBIERZ * Z danych.minister;

Wstawmy do niego kilka rekordów. Pierwszy rekord zostanie pomyślnie dodany do tabeli, ponieważ jest to pierwsza linia i nie ma wiersza do dopasowania.

Wprowadź inny unikalny rekord bez zduplikowanych wartości w dowolnej kolumnie, jak pokazano poniżej.

Nie ma to wpływu na wprowadzenie zduplikowanych wartości dla kolumn, które nie mają ograniczenia „UNIKALNE”. Spójrz na poniższe zapytanie. Ma zduplikowaną wartość w kolumnach „Nazwa” i „Praca”. Działa poprawnie, ponieważ te dwie kolumny nie mają zdefiniowanego ograniczenia „UNIKALNE”.

Z drugiej strony, gdy wstawimy zduplikowaną wartość, e.sol., „13” i „Rawalpindi”, wygeneruje błąd, jak pokazano poniżej. Dzieje się tak dlatego, że „13” i „Rawalpindi” zostały określone wcześniej.

Po sprawdzeniu mamy tylko trzy rekordy w tabeli, wstawione przez pierwsze trzy zapytania.

>> WYBIERZ * Z danych.minister;

Wniosek:

Z wdziękiem wykonaliśmy wszystkie przykłady definiowania ograniczeń UNIQUE na jednej i wielu kolumnach podczas korzystania z MySQL Workbench 8.0 i powłoka klienta wiersza poleceń MySQL. Mamy nadzieję, że nie będziesz mieć problemów podczas rozwiązywania problemów związanych z UNIKALNYMI kluczami.

Gry Vulkan for Linux Users
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...
Gry OpenTTD vs Simutrans
OpenTTD vs Simutrans
Creating your own transport simulation can be fun, relaxing and extremely enticing. That's why you need to make sure that you try out as many games as...
Gry OpenTTD Tutorial
OpenTTD Tutorial
OpenTTD is one of the most popular business simulation games out there. In this game, you need to create a wonderful transportation business. However,...