MySQL MariaDB

Utilizarea constrângerilor unice MySQL

Utilizarea constrângerilor unice MySQL
MySQL CONSTRAINT este eliminat pentru a descrie regulile care permit sau restricționează valorile din câmpurile care pot conține sau limita datele care pot fi introduse în rânduri. Scopul impunerii restricțiilor este menținerea credibilității unei baze de date. Una dintre ele este constrângerea UNICĂ.

Restricția UNICĂ garantează că aproape toate elementele dintr-un câmp sunt distincte unele de altele. Pentru un câmp sau grup de câmpuri, limitele CHEIEI UNICE și PRIMARE au reciproc o asigurare a individualității. Cu toate acestea, putem avea mai multe restricții UNICE în fiecare tabel, deși o limită CHEIE PRIMARĂ pentru fiecare tabel. Să o învățăm încercând câteva exemple.

Constrângere unică prin Workbench:

În primul rând, trebuie să aflăm despre cum să adăugăm constrângeri unice la tabel în timp ce folosim MySQL Workbench 8.0. Deschideți MySQL Workbench 8 nou instalat.0 și conectați-l la baza de date.

În zona de interogare, trebuie să scrieți comanda de mai jos pentru a crea un tabel „Persoană”. Acest tabel are 4 coloane cu o cheie principală. Trebuie să specificăm o coloană unică. După cum puteți vedea, am șters coloana „Id” ca coloană „UNIC”:

>> CREARE TABEL Persoană (ID int PRIMARY KEY NOT NULL, LastName varchar (255) NOT NULL, FirstName varchar (255), Age int, UNIQUE (ID));

Acum tabelul „Persoană” a fost creat cu coloana „UNIQUE” „ID”. Puteți găsi tabelul sub „Navigator” și „Scheme” în timp ce sunt listate în opțiunea „Tabel”.

În timp ce introduceți înregistrările, când atingeți butonul „Aplicați”, acesta va examina înregistrările inserate așa cum se arată mai jos. Puteți vedea că avem o înregistrare duplicată la rândurile 3 și 4 care are același „ID”. Atingeți butonul „Aplicați” pentru a aplica modificările.

În imaginea de mai jos, generează o eroare pe care coloana „ID” a duplicat-o, care este valoarea „13”.

După corectarea înregistrării, atunci când aplicați modificările, aceasta va funcționa corect.

Constrângere unică prin linia de comandă Shell:

În shell-ul liniei de comandă MySQL, vom adăuga chei UNIQUE la una sau mai multe coloane. Deschideți-vă mai întâi linia de comandă pentru a vedea fiecare din exemplele de mai jos. Tastați parola pentru a utiliza shell-ul comenzii.

Exemplul 01: pe o singură coloană

În cadrul acestei sintaxi, ca și în specificația coloanei, folosim termenul UNIC pe care doriți să îl aplicați legii unicității. Odată ce introducem sau modificăm o valoare care creează duplicate în coloana respectivă, modificarea va fi refuzată de MySQL și va fi oferită și o excepție. Va exista o restricție de coloană în această limită specială. Și puteți utiliza asta pentru a implementa și regula unică a unui câmp. Iată o sintaxă pentru o cheie UNICĂ cu o singură coloană:

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

Să creăm un tabel „furnizor” în baza de date „date” cu trei coloane în el. Coloana „ID” este definită ca „UNIC”.

>> CREAȚI date de TABEL.furnizor (id INT AUTO_INCREMENT NOT NULL UNIQUE, Nume VARCHAR (50) NOT NULL, Zona VARCHAR (50));

La verificare, puteți vedea că tabelul nu are încă înregistrări.

>> SELECT * DIN date.furnizor;

Să introducem înregistrările în tabel. Prima înregistrare va fi inserată în tabel fără probleme, așa cum se arată mai jos.

A doua înregistrare va fi inserată din nou fără probleme, deoarece nu are valori duplicate la coloana „ID”. Pe de altă parte, ia aceeași valoare pe care o folosește în prima interogare din coloana „Zona”.

La inserarea celei de-a treia înregistrări, am furnizat valoarea duplicat „1” așa cum am furnizat în prima instrucțiune de inserare. Va genera o eroare că coloana „ID” obține o valoare duplicat, așa cum se arată în imaginea de mai jos.

În timp ce verificați din nou, puteți vedea că tabelul are doar înregistrarea primelor două instrucțiuni de inserare. Deși nu există nicio înregistrare din a treia instrucțiune de inserare.

>> SELECT * DIN date.furnizor;

Exemplul 02: pe coloane multiple

Cu acest format, după termenul UNIC, aplicăm un set de coloane separate între virgule între paranteze. Compoziția valorilor în câmpul col1 și col2 este utilizată de MySQL pentru a determina unicitatea.

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

Am creat un tabel „ministru” în baza de date „date” cu cinci coloane. Coloana „ID” este definită ca „UNIC” și „PRIMAR”. Cuvântul cheie „CONSTRAINT” este folosit pentru a denumi o constrângere cheie unică ca „uc_add_sal”. Cuvântul cheie „UNIQUE” este utilizat pentru a defini o constrângere UNIQUE pe coloanele specificate între paranteze, e.g., Adresa și „Salariul”. Acum avem un total de trei coloane cu constrângere „UNICĂ” asupra lor.

>> CREAȚI date de TABEL.ministru (Mid INT AUTO_INCREMENT PRIMARY KEY NOT NULL UNIQUE, Nume VARCHAR (50) NOT NULL, Adresa VARCHAR (50), Job VARCHAR (50), Salariu VARCHAR (50), CONSTRAINT uc_add_sal UNIQUE (Adresă, Salariu));

La verificarea tabelului, puteți vedea că tabelul este gol chiar acum.

>> SELECT * DIN date.ministru;

Să introducem câteva înregistrări în el. Prima înregistrare va fi adăugată cu succes la tabel, deoarece este prima linie și nu există niciun rând cu care să se potrivească.

Introduceți o altă înregistrare unică fără valori duplicate la orice coloană, așa cum se arată mai jos.

Nu afectează când introducem valorile duplicate pentru coloanele care nu au nicio constrângere „UNICĂ” pe ele. Aruncați o privire la interogarea de mai jos. Are o valoare duplicat la coloana „Nume” și „Job”. Funcționează corect, deoarece aceste două coloane nu au definite o constrângere „UNICĂ”.

Pe de altă parte, atunci când introducem valoarea duplicat, e.g., „13” și „Rawalpindi”, va genera o eroare, așa cum se arată mai jos. Acest lucru se datorează faptului că „13” și „Rawalpindi” au fost specificate mai devreme.

La verificare, avem doar trei înregistrări în tabel, inserate de primele trei interogări.

>> SELECT * DIN date.ministru;

Concluzie:

Am făcut cu grație toate exemplele de definire a constrângerilor UNICE pe coloanele unice și multiple în timp ce foloseam MySQL Workbench 8.0 și shell client client din linia de comandă MySQL. Sperăm că nu veți obține probleme în timp ce rezolvați problemele legate de cheile UNIQUE.

Cele mai bune 5 jocuri arcade pentru Linux
În zilele noastre, computerele sunt mașini serioase folosite pentru jocuri. Dacă nu puteți obține noul scor mare, veți ști la ce mă refer. În această ...
Battle For Wesnoth 1.13.6 Development Released
Battle For Wesnoth 1.13.6 released last month, is the sixth development release in the 1.13.x series and it delivers a number of improvements, most no...
Cum se instalează League Of Legends pe Ubuntu 14.04
Dacă ești fan al League of Legends, atunci aceasta este o oportunitate pentru tine de a testa rula League of Legends. Rețineți că LOL este acceptat pe...