MySQL MariaDB

Používanie jedinečných obmedzení MySQL

Používanie jedinečných obmedzení MySQL
MySQL CONSTRAINT sa odvoláva na opis pravidiel, ktoré povoľujú alebo obmedzujú hodnoty v poliach, ktoré môžu obsahovať alebo obmedzovať údaje, ktoré je možné zadať do riadkov. Cieľom zavedenia obmedzení je zachovať dôveryhodnosť databázy. Jedným z nich je JEDINEČNÉ obmedzenie.

JEDINEČNÉ obmedzenie zaručuje, že takmer všetky prvky v poli sú navzájom odlišné. Pre pole alebo skupinu polí majú limity UNIQUE a PRIMARY KEY vzájomne záruku individuality. V každej tabuľke však môžeme mať niekoľko JEDINEČNÝCH obmedzení, aj keď namiesto toho pre každú tabuľku jeden limit PRIMÁRNEHO KĽÚČA. Naučme sa to skúsením niekoľkých príkladov.

Jedinečné obmedzenie prostredníctvom Workbench:

Najskôr sa musíme naučiť, ako pridať jedinečné obmedzenia do tabuľky pri používaní MySQL Workbench 8.0. Otvorte novo nainštalovaný server MySQL Workbench 8.0 a pripojte ho k databáze.

V oblasti dotazu musíte napísať nasledujúci príkaz, aby ste vytvorili tabuľku „Osoba“. Táto tabuľka má 4 stĺpce s jedným primárnym kľúčom. Musíme určiť jeden jedinečný stĺpec. Ako vidíte, stĺpec „Id“ sme vymazali ako stĺpec „JEDINEČNÝ“:

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

Teraz bola vytvorená tabuľka „Osoba“ so stĺpcom „JEDINEČNÉ“ „ID“. Tabuľku nájdete pod možnosťami „Navigátor“ a „Schémy“, pokiaľ sú uvedené v možnosti „Tabuľky“.

Pri vkladaní záznamov klepnete na tlačidlo „Použiť“ a skontrolujú sa vložené záznamy, ako je uvedené nižšie. Môžete vidieť, že na riadkoch 3 a 4 máme jeden duplikovaný záznam, ktorý má rovnaké „ID“. Kliknutím na tlačidlo „Použiť“ použijete zmeny.

Na nasledujúcom obrázku generuje chybu, že sa duplikoval stĺpec „ID“, čo je hodnota „13“.

Po oprave záznamu, keď zmeny použijete, bude fungovať správne.

Jedinečné obmedzenie prostredníctvom príkazového riadku:

V prostredí príkazového riadku MySQL pridáme do jedného alebo viacerých stĺpcov UNIKÁTNE kľúče. Najskôr otvorte príkazový riadok, aby ste každý z nich videli v príkladoch uvedených nižšie. Ak chcete použiť príkazový shell, zadajte svoje heslo.

Príklad 01: Na jednom stĺpci

V rámci tejto syntaxe, rovnako ako v špecifikácii stĺpca, používame výraz JEDINEČNÝ, pri ktorom chcete použiť zákon jedinečnosti. Po vložení alebo zmene hodnoty, ktorá vytvára duplikáty v konkrétnom stĺpci, bude zmena MySQL odmietnutá a tiež bude udelená výnimka. V tomto konkrétnom limite bude obmedzenie stĺpcov. To by ste mohli použiť aj na implementáciu jedinečného pravidla jedného poľa. Tu je syntax pre jediný stĺpec UNIQUE kľúč:

>> CREATE TABLE table_name (col datatype UNIQUE, col datatype);

Vytvorme tabuľku „dodávateľ“ v databáze „dáta“, v ktorej budú tri stĺpce. Stĺpec „ID“ je definovaný ako „JEDINEČNÝ“.

>> VYTVORIŤ TABUĽKU údajov.dodávateľ (id INT AUTO_INCREMENT NIE JE NULL JEDINEČNÝ, meno VARCHAR (50) NIE NULL, oblasť VARCHAR (50));

Pri kontrole môžete vidieť, že tabuľka zatiaľ nemá žiadne záznamy.

>> SELECT * FROM data.dodávateľ;

Vložme záznamy do tabuľky. Prvý záznam sa do tabuľky vloží plynulo, ako je uvedené nižšie.

Druhý záznam bude vložený znova plynulo, pretože nemá duplicitné hodnoty v stĺpci „ID“. Na druhej strane má rovnakú hodnotu, akú používa v prvom dotaze v stĺpci „Oblasť“.

Po vložení tretieho záznamu sme zadali duplicitnú hodnotu „1“, ako sme ju uviedli v prvom príkaze na vloženie. Bude generovať chybu, že stĺpec „ID“ získava duplicitnú hodnotu, ako je to znázornené na obrázku nižšie.

Pri opätovnej kontrole môžete vidieť, že tabuľka obsahuje iba záznamy o prvých dvoch príkazoch vloženia. Aj keď z tretieho vloženého výpisu nie je záznam.

>> SELECT * FROM data.dodávateľ;

Príklad 02: Na viacerých stĺpcoch

V tomto formáte po výraze JEDINEČNÝ použijeme v zátvorkách sadu stĺpcov oddelenú čiarkami. Zloženie hodnôt v poliach col1 a col2 používa MySQL na určenie jedinečnosti.

>> CREATE TABLE table_name (col1 datatype, col2 datatype, UNIQUE (col1, col2));

V databáze „dáta“ sme vytvorili tabuľku „minister“ s piatimi stĺpcami. Stĺpec „ID“ je definovaný ako „JEDINEČNÝ“ a „PRIMÁRNY“. Kľúčové slovo „CONSTRAINT“ sa používa na pomenovanie jedinečného obmedzenia kľúča ako „uc_add_sal“. Kľúčové slovo „JEDINEČNÉ“ sa používa na definovanie JEDINEČNÉHO obmedzenia pre stĺpce uvedené v zátvorkách, napr.g., Adresa a „plat“. Teraz máme celkovo tri stĺpce, ktoré majú obmedzenie „JEDINEČNÉ“.

>> VYTVORIŤ TABUĽKU údajov.minister (Mid INT AUTO_INCREMENT PRIMARY KEY NOT NULL UNIQUE, meno VARCHAR (50) NOT NULL, adresa VARCHAR (50), Job VARCHAR (50), plat VARCHAR (50), CONSTRAINT uc_add_sal UNIQUE (adresa, plat));

Pri kontrole tabuľky môžete vidieť, že tabuľka je teraz prázdna.

>> SELECT * FROM data.minister;

Vložme do toho nejaké záznamy. Prvý záznam bude do tabuľky úspešne pridaný, pretože je to prvý riadok a neexistuje žiadny riadok, s ktorým by sa dalo porovnávať.

Zadajte ďalší jedinečný záznam bez duplicitných hodnôt do ľubovoľného stĺpca, ako je uvedené nižšie.

Nemá to vplyv na to, keď zadáme duplicitné hodnoty pre stĺpce, ktoré na ne nemajú žiadne „JEDINEČNÉ“ obmedzenie. Pozrite sa na nižšie uvedený dotaz. Má duplicitnú hodnotu v stĺpcoch „Meno“ a „Úloha“. Funguje správne, pretože tieto dva stĺpce nemajú definované nijaké „JEDINEČNÉ“ obmedzenie.

Na druhej strane, keď vložíme duplicitnú hodnotu, napr.g., „13“ a „Rawalpindi“ vygeneruje chybu, ako je uvedené nižšie. Je to tak preto, lebo „13“ a „Rawalpindi“ boli špecifikované už skôr.

Pri kontrole máme v tabuľke iba tri záznamy vložené prvými tromi dotazmi.

>> SELECT * FROM data.minister;

Záver:

Pri použití nástroja MySQL Workbench 8 sme ladne vykonali všetky príklady definovania JEDINEČNÝCH obmedzení v jednom a viacerých stĺpcoch.0 a shell klienta príkazového riadku MySQL. Dúfajme, že pri riešení problémov týkajúcich sa UNIQUE kľúčov nebudete mať žiadne problémy.

Hry Nainštalujte si najnovší Dolphin Emulator pre Gamecube a Wii na Linuxe
Nainštalujte si najnovší Dolphin Emulator pre Gamecube a Wii na Linuxe
Emulátor Dolphin vám umožní hrať vybrané hry Gamecube a Wii na osobných počítačoch Linux (PC). Emulátor Dolphin, ktorý je voľne dostupným emulátorom ...
Hry Ako používať GameConqueror Cheat Engine v Linuxe
Ako používať GameConqueror Cheat Engine v Linuxe
Tento článok obsahuje sprievodcu používaním cheatovacieho modulu GameConqueror v systéme Linux. Mnoho používateľov, ktorí hrajú hry v systéme Windows,...
Hry Najlepšie emulátory herných konzol pre systém Linux
Najlepšie emulátory herných konzol pre systém Linux
V tomto článku je uvedený zoznam populárneho softvéru na emuláciu herných konzol, ktorý je k dispozícii pre systém Linux. Emulácia je vrstva kompatibi...