Usando i vincoli unici mysql

Usando i vincoli unici mysql
Il vincolo di MySQL viene lanciato per descrivere le regole che consentono o limitano i valori nei campi che possono contenere o limitare i dati che possono essere inseriti nelle righe. Lo scopo di imporre restrizioni è mantenere la credibilità di un database. Uno di questi è il vincolo unico.

La restrizione unica garantisce che quasi tutti gli elementi in un campo sono distinti l'uno dall'altro. Per un campo o un gruppo di campi, la chiave unica e primaria limiti ha reciprocamente la certezza dell'individualità. Potremmo, tuttavia, avere diversi restrizioni uniche in ogni tabella, sebbene un limite chiave principale per ogni tabella. Impariamolo provando alcuni esempi.

Vincolo unico tramite Workbench:

Prima di tutto, dobbiamo imparare su come aggiungere vincoli unici al tavolo durante l'utilizzo di MySQL Workbench 8.0. Apri il tuo MySQL Workbench appena installato 8.0 e collegarlo al database.

Nell'area di query, devi scrivere il comando seguente per creare una tabella "persona". Questa tabella ha 4 colonne con una chiave primaria. Dobbiamo specificare una colonna univoca. Come puoi vedere, abbiamo cancellato la colonna "id" come colonna "univoco":

>> Crea persona della tabella (ID Int Key non Null, LastName Varchar (255) non NULL, FirstName Varchar (255), età int, univoco (id));

Ora la tabella "persona" è stata creata con la sua colonna "unica" "ID". Puoi trovare la tabella sotto il "navigatore" e "schemi" mentre è elencato nell'opzione "Tabelle".

Durante l'inserimento dei record, quando si tocca il pulsante "Applica", esaminerà i record inseriti come mostrato di seguito. Puoi vedere che abbiamo un record duplicato alle righe 3 e 4 che ha la stessa "id". Tocca il pulsante "Applica" per applicare le modifiche.

Nell'immagine seguente, sta generando un errore che la colonna "ID" ha duplicato, che è il valore "13".

Dopo aver corretto il record, quando si applica le modifiche, funzionerà correttamente.

Vincolo univoco tramite shell della riga di comando:

Nella shell di comando mysql, aggiungeremo chiavi uniche a una o più colonne. Apri prima la tua riga di comando per dare un'occhiata a ciascuno degli esempi seguenti. Digita la tua password per utilizzare la shell di comando.

Esempio 01: sulla colonna singola

All'interno di questa sintassi, come nelle specifiche della colonna, utilizziamo il termine unico che desideri applicare la legge sull'unicità. Una volta che inseriamo o alteramo un valore che crea duplicati nella colonna particolare, la modifica verrà rifiutata da MySQL e verrà fornita anche un'eccezione. Ci sarà una restrizione di colonna in questo particolare limite. E potresti usarlo per implementare anche la regola unica di un campo. Ecco una sintassi per una chiave univoca a colonna singola:

>> Crea table Table_name (COL DataType univoco, COL DataType);

Creiamo una tabella "fornitore" nel database "dati" con tre colonne. La colonna "ID" è definita come "univoco".

>> Crea dati della tabella.fornitore (id int auto_increment non null univoco, nome varchar (50) non null, area varchar (50));

Al controllo, puoi vedere che la tabella non ha ancora record.

>> Seleziona * dai dati.fornitore;

Inserire i record nella tabella. Il primo record verrà inserito nella tabella senza intoppi, come mostrato di seguito.

Il secondo record verrà inserito di nuovo senza intoppi poiché non ha valori duplicati nella colonna "ID". D'altra parte, sta prendendo lo stesso valore che utilizza nella prima query nella colonna "Area".

All'inserimento del terzo record, abbiamo fornito il valore duplicato "1" come abbiamo fornito nella prima istruzione Insert. Genererà un errore che la colonna "ID" sta ottenendo un valore duplicato, come mostrato nell'immagine seguente.

Durante il controllo di nuovo, puoi vedere che la tabella ha solo il record delle prime due dichiarazioni di inserimento. Sebbene non vi sia alcun record dalla terza istruzione insert.

>> Seleziona * dai dati.fornitore;

Esempio 02: su più colonne

Con questo formato, dopo il termine unico, applichiamo un set di colonne separate da virgola. La composizione dei valori nel campo Col1 e Col2 è usata da MySQL per determinare l'unicità.

>> Crea table table_name (datatype col1, tipi di dati Col2, univoco (col1, col2));

Abbiamo creato un "ministro" della tabella nel database "dati" con cinque colonne. La colonna "ID" è definita come "univoco" e "primario". La parola chiave "vincolo" viene utilizzata per nominare un vincolo chiave univoco come "uc_add_sal". La parola chiave "univoca" viene utilizzata per definire un vincolo univoco sulle colonne specificate tra le staffe, E.G., Indirizzo e "stipendio". Ora abbiamo un totale di tre colonne che hanno un vincolo "unico" su di esse.

>> Crea dati della tabella.Ministro (Mid Int Auto_Increment Key primario non NULL UNIVE, Nome VARCHAR (50) NOT NULL, indirizzo Varchar (50), GOB VARCHAR (50), Stipendio Varchar (50), vincolo UC_ADD_SAL UNIDE (indirizzo, stipendio));

Al controllo della tabella, puoi vedere che la tabella è vuota in questo momento.

>> Seleziona * dai dati.ministro;

Inseriamo alcuni record in esso. Il primo record verrà aggiunto alla tabella correttamente perché è la prima riga e non c'è riga con cui essere abbinato.

Immettere un altro record univoco senza alcun valori duplicati in qualsiasi colonna, come mostrato di seguito.

Non influisce quando inseriamo i valori duplicati per le colonne che non hanno alcun vincolo "unico" su di essi. Dai un'occhiata alla query qui sotto. Ha un valore duplicato nella colonna "nome" e "lavoro". Funziona correttamente perché queste due colonne non hanno un vincolo "unico" definito su di esse.

D'altra parte, quando inseriamo il valore duplicato, E.G., "13" e "rawalpindi", genererà un errore, come mostrato di seguito. Questo perché "13" e "rawalpindi" sono stati specificati in precedenza.

Al controllo, abbiamo solo tre record nella tabella, inseriti dalle prime tre domande.

>> Seleziona * dai dati.ministro;

Conclusione:

Abbiamo fatto con grazia tutti gli esempi di definizione di vincoli unici sulle colonne singoli e più.0 e shell client di comando mysql. Spero che non avrai problemi mentre risolvi i problemi relativi alle chiavi uniche.