MySQL MariaDB

Utilizzo dei vincoli univoci di MySQL

Utilizzo dei vincoli univoci di MySQL
MySQL CONSTRAINT viene scartato 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. L'obiettivo 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 siano distinti l'uno dall'altro. Per un campo o un gruppo di campi, i limiti UNIQUE e PRIMARY KEY hanno reciprocamente una garanzia di individualità. Potremmo, tuttavia, avere diversi vincoli UNIQUE in ogni tabella, sebbene un limite PRIMARY KEY per ogni tabella invece. Impariamo provando qualche esempio.

Vincolo univoco tramite Workbench:

Prima di tutto, dobbiamo imparare come aggiungere vincoli Unique alla tabella durante l'utilizzo di MySQL Workbench 8.0. Apri il tuo MySQL Workbench 8 appena installato.0 e collegalo al database.

Nell'area delle 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 "UNICO":

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

Ora è stata creata la tabella “Persona” 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", verranno esaminati i record inseriti come mostrato di seguito. Puoi vedere che abbiamo un record duplicato alle righe 3 e 4 che ha lo stesso "ID". Tocca il pulsante "Applica" per applicare le modifiche.

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

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

Vincolo univoco tramite shell della riga di comando:

Nella shell della riga di comando di MySQL, aggiungeremo chiavi UNIQUE a una o più colonne. Apri prima la riga di comando per dare un'occhiata a ciascuno negli esempi seguenti. Digita la tua password per usare la shell dei comandi.

Esempio 01: su colonna singola

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

>> CREATE TABLE nome_tabella (tipo di dati col UNIQUE, tipo di dati col);

Creiamo una tabella "fornitore" nel database "dati" con tre colonne al suo interno. La colonna “ID” è definita come “UNICO”.

>> CREA dati TABELLA.fornitore( id INT AUTO_INCREMENT NOT NULL UNIQUE, Nome VARCHAR(50) NOT NULL, Area VARCHAR(50));

Controllando, puoi vedere che la tabella non ha ancora record.

>> SELEZIONA * DAI dati.fornitore;

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

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

Inserendo il terzo record, abbiamo fornito il valore duplicato "1" come abbiamo fornito nella prima istruzione di inserimento. Verrà generato un errore che la colonna "ID" sta ottenendo un valore duplicato, come mostrato nell'immagine qui sotto.

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

>> SELEZIONA * DAI dati.fornitore;

Esempio 02: su più colonne

Con questo formato, dopo il termine UNIQUE, applichiamo un insieme di colonne separate da virgole tra parentesi. La composizione dei valori nei campi col1 e col2 è utilizzata da MySQL per determinare l'unicità.

>> CREATE TABLE nome_tabella (tipo di dati col1, tipo di dati col2, UNIQUE (col1, col2));

Abbiamo creato una tabella "ministro" nel database "dati" con cinque colonne. La colonna “ID” è definita come “UNICO” e “PRIMARY”. La parola chiave "CONSTRAINT" viene utilizzata per denominare un vincolo di chiave univoco come "uc_add_sal". La parola chiave “UNIQUE” viene utilizzata per definire un vincolo UNIQUE sulle colonne specificate tra parentesi, e.g., Indirizzo e “stipendio”. Ora abbiamo un totale di tre colonne con vincolo "UNICO" su di esse.

>> CREA dati TABELLA.minister( Mid INT AUTO_INCREMENT PRIMARY KEY NOT NULL UNIQUE, Nome VARCHAR(50) NOT NULL, Indirizzo VARCHAR(50), Lavoro VARCHAR(50), Stipendio VARCHAR(50), CONSTRAINT uc_add_sal UNIQUE (Indirizzo, Stipendio));

Controllando la tabella, puoi vedere che la tabella è vuota in questo momento.

>> SELEZIONA * DAI dati.ministro;

Inseriamo alcuni record in esso. Il primo record verrà aggiunto correttamente alla tabella perché è la prima riga e non ci sono righe da abbinare row.

Inserisci un altro record univoco senza valori duplicati in nessuna colonna, come mostrato di seguito.

Non ha effetto quando inseriamo i valori duplicati per le colonne che non hanno alcun vincolo "UNICO" su di esse. 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.

Quando invece 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 momento della verifica, abbiamo solo tre record nella tabella, inseriti dalle prime tre query.

>> SELEZIONA * DAI dati.ministro;

Conclusione:

Abbiamo eseguito con garbo tutti gli esempi di definizione di vincoli UNIQUE sulle colonne singole e multiple durante l'utilizzo di MySQL Workbench 8.0 e shell client da riga di comando MySQL. Si spera che non avrai problemi durante la risoluzione dei problemi relativi alle chiavi UNIQUE.

WinMouse ti consente di personalizzare e migliorare il movimento del puntatore del mouse su PC Windows
Se vuoi migliorare le funzioni predefinite del puntatore del mouse, usa freeware WinMouse. Aggiunge più funzionalità per aiutarti a ottenere il massim...
Il tasto sinistro del mouse non funziona su Windows 10
Se stai utilizzando un mouse dedicato con il tuo laptop o computer desktop ma il il tasto sinistro del mouse non funziona su Windows 10/8/7 per qualch...
Il cursore salta o si sposta in modo casuale durante la digitazione in Windows 10
Se scopri che il cursore del mouse salta o si sposta da solo, automaticamente, in modo casuale durante la digitazione nel laptop o nel computer Window...