MySQL MariaDB

Uporaba edinstvenih omejitev MySQL

Uporaba edinstvenih omejitev MySQL
MySQL CONSTRAINT se izloča, da bi opisal pravila, ki dovoljujejo ali omejujejo vrednosti v poljih, ki lahko vsebujejo ali omejujejo podatke, ki jih je mogoče vnesti v vrstice. Cilj uvedbe omejitev je ohraniti verodostojnost baze podatkov. Ena izmed njih je UNIQUE omejitev.

Omejitev UNIQUE zagotavlja, da se skoraj vsi elementi na polju razlikujejo med seboj. Za polje ali skupino polj UNIQUE in PRIMARY KEY omejitve vzajemno zagotavljajo individualnost. Kljub temu imamo lahko v vsaki tabeli več UNIKATNIH omejitev, čeprav namesto tega za vsako tabelo velja en OSNOVNI KLJUČ. Naučimo se ga na nekaj primerih.

Edinstvena omejitev prek delovne mize:

Najprej se moramo naučiti, kako tabeli dodati edinstvene omejitve med uporabo MySQL Workbench 8.0. Odprite novo nameščeni MySQL Workbench 8.0 in ga povežite z bazo podatkov.

V področje poizvedbe morate napisati spodnji ukaz, da ustvarite tabelo 'Oseba'. Ta tabela ima 4 stolpce z enim primarnim ključem. Navesti moramo en unikatni stolpec. Kot lahko vidite, smo počistili stolpec 'Id' kot stolpec 'UNIQUE':

>> USTVARI TABELO Oseba (ID int PRIMARNI KLJUČ NOT NULL, Priimek varchar (255) NOT NULL, FirstName varchar (255), Age int, UNIQUE (ID));

Zdaj je bila ustvarjena tabela "Oseba" s stolpcem "UNIQUE" "ID". Tabelo najdete pod "Navigator" in "Sheme", medtem ko je navedena v možnosti "Tabele".

Med vstavljanjem zapisov bo ob pritisku na gumb »Uporabi« pregledal vstavljene zapise, kot je prikazano spodaj. Vidite, da imamo v vrsticah 3 in 4 en podvojen zapis, ki ima enak "ID". Dotaknite se gumba »Uporabi«, da uveljavite spremembe.

Na spodnji sliki ustvarja napako, da se je stolpec »ID« podvojil, kar je vrednost »13«.

Po popravku zapisa bo, ko uveljavite spremembe, deloval pravilno.

Edinstvena omejitev prek lupine ukazne vrstice:

V lupini ukazne vrstice MySQL bomo v en ali več stolpcev dodali UNIQUE ključe. Najprej odprite ukazno vrstico, da si jih ogledate v spodnjih primerih. Vnesite geslo za uporabo ukazne lupine.

Primer 01: V enem stolpcu

V tej sintaksi, tako kot v specifikaciji stolpca, uporabljamo izraz UNIQUE, za katerega želite uporabiti zakon o edinstvenosti. Ko v določen stolpec vstavimo ali spremenimo vrednost, ki ustvari dvojnike, bo MySQL zavrnil spremembo in dal tudi izjemo. V tej posebni omejitvi bo omejitev stolpcev. In to lahko uporabite za izvajanje edinstvenega pravila enega polja. Tu je sintaksa za enostopenjski UNIQUE ključ:

>> USTVARI TABELO ime_tabele (tip podatkov UNIQUE, tip podatkov col);

Ustvarimo tabelo »dobavitelj« v zbirki podatkov »podatki« s tremi stolpci. Stolpec "ID" je opredeljen kot "UNIQUE".

>> USTVARI podatke v TABELI.dobavitelj (id INT AUTO_INCREMENT NOT NULL UNIQUE, Ime VARCHAR (50) NOT NULL, Area VARCHAR (50));

Pri preverjanju lahko vidite, da tabela še nima zapisov.

>> IZBERI * IZ podatkov.dobavitelj;

Vstavimo zapise v tabelo. Prvi zapis bo gladko vstavljen v tabelo, kot je prikazano spodaj.

Drugi zapis bo spet gladko vstavljen, saj v stolpcu "ID" nima podvojenih vrednosti. Po drugi strani pa ima enako vrednost, kot jo uporablja v prvi poizvedbi v stolpcu "Območje".

Ob vstavitvi tretjega zapisa smo podali podvojeno vrednost "1", kot smo jo navedli v prvem stavku za vstavljanje. Ustvarila bo napako, da stolpec »ID« dobi podvojeno vrednost, kot je prikazano na spodnji sliki.

Med ponovnim preverjanjem lahko vidite, da ima tabela le zapis prvih dveh vstavkov. Medtem ko iz tretjega stavka vstavka ni zapisa.

>> IZBERI * IZ podatkov.dobavitelj;

Primer 02: Na več stolpcih

V tej obliki za izrazom UNIQUE v oklepajih uporabimo nabor stolpcev, ločenih z vejico. Sestava vrednosti v polju col1 in col2 MySQL uporablja za določanje edinstvenosti.

>> USTVARI TABELO ime_tabele (podatkovni tip col1, podatkovni tip col2, ENOTEN (col1, col2));

V bazi podatkov „podatki“ smo ustvarili tabelo „minister“ s petimi stolpci. Stolpec "ID" je opredeljen kot "UNIQUE" in "PRIMARY". Ključna beseda »CONSTRAINT« se uporablja za poimenovanje edinstvene omejitve ključa kot »uc_add_sal«. Ključna beseda “UNIQUE” se uporablja za določitev UNIQUE omejitve v stolpcih, navedenih v oklepajih, e.g., Naslov in »plača«. Zdaj imamo skupaj tri stolpce z omejitvijo »UNIQUE«.

>> USTVARI podatke v TABELI.minister (sredina INT AUTO_INCREMENT PRIMARNI KLJUČ NOT NULL UNIQUE, ime VARCHAR (50) NOT NULL, naslov VARCHAR (50), delo VARCHAR (50), plača VARCHAR (50), CONSTRAINT uc_add_sal UNIQUE (naslov, plača));

Pri preverjanju tabele lahko vidite, da je tabela trenutno prazna.

>> IZBERI * IZ podatkov.minister;

Vanj vstavimo nekaj zapisov. Prvi zapis bo uspešno dodan v tabelo, ker je prva vrstica in ni vrstic, s katerimi bi se lahko ujemalo.

V noben stolpec vnesite drug unikatni zapis brez podvojenih vrednosti, kot je prikazano spodaj.

Ne vpliva na to, kdaj vnesemo podvojene vrednosti za stolpce, ki nimajo omejitve »UNIQUE«. Oglejte si spodnjo poizvedbo. V stolpcu »Ime« in »Posel« ima podvojeno vrednost. Deluje pravilno, ker ta dva stolpca nimata definirane omejitve "UNIQUE".

Po drugi strani pa, ko vstavimo podvojeno vrednost, npr.g., "13" in "Rawalpindi", bo ustvarila napako, kot je prikazano spodaj. To je zato, ker sta bili prej določeni "13" in "Rawalpindi".

Pri preverjanju imamo v tabeli le tri zapise, ki jih vstavijo prve tri poizvedbe.

>> IZBERI * IZ podatkov.minister;

Zaključek:

Vse primere definiranja UNIQUE omejitev za en in več stolpcev smo med uporabo MySQL Workbench 8.0 in odjemalska lupina ukazne vrstice MySQL. Upajmo, da med reševanjem težav v zvezi z UNIQUE ključi ne boste imeli težav.

Najboljši Linux Distros za igre na srečo v letu 2021
Operacijski sistem Linux je daleč od prvotnega, preprostega, strežniškega videza. Ta OS se je v zadnjih letih izjemno izboljšal in se je zdaj razvil v...
Kako zajeti in pretakati svojo igralno sejo v Linuxu
V preteklosti je bilo igranje iger le hobi, sčasoma pa je igralniška industrija zabeležila veliko rast glede tehnologije in števila igralcev. Občinstv...
Najboljše igre z ročnim sledenjem
Oculus Quest je pred kratkim predstavil odlično idejo ročnega sledenja brez krmilnikov. Z vedno večjim številom iger in dejavnosti, ki izvajajo podpor...