MySQL MariaDB

Verwenden von MySQL Unique Constraints

Verwenden von MySQL Unique Constraints
MySQL CONSTRAINT wird abgeschafft, um die Regeln zu beschreiben, die die Werte in Feldern zulassen oder einschränken, die die Daten, die in die Zeilen eingegeben werden können, enthalten oder einschränken können. Das Ziel der Auferlegung von Beschränkungen besteht darin, die Glaubwürdigkeit einer Datenbank zu wahren. Eine davon ist die UNIQUE-Beschränkung.

Die UNIQUE-Einschränkung garantiert, dass sich fast alle Elemente in einem Feld voneinander unterscheiden. Für ein Feld oder eine Gruppe von Feldern haben die Grenzen UNIQUE und PRIMARY KEY wechselseitig eine Zusicherung der Individualität. Wir können jedoch mehrere UNIQUE-Einschränkungen in jeder Tabelle haben, obwohl stattdessen ein PRIMARY KEY-Limit für jede Tabelle. Lass es uns lernen, indem wir einige Beispiele ausprobieren.

Eindeutige Einschränkung über Workbench:

Zuallererst müssen wir lernen, wie man der Tabelle Unique Constraints hinzufügt, während man MySQL Workbench 8 verwendet.0. Öffnen Sie Ihre neu installierte MySQL Workbench 8.0 und verbinde es mit der Datenbank.

Im Abfragebereich müssen Sie den folgenden Befehl schreiben, um eine Tabelle 'Person' zu erstellen. Diese Tabelle hat 4 Spalten mit einem Primärschlüssel. Wir müssen eine eindeutige Spalte angeben. Wie Sie sehen, haben wir die Spalte 'Id' als Spalte 'UNIQUE' gelöscht:

>> CREATE TABLE Person (ID int PRIMARY KEY NOT NULL, Nachname varchar(255) NOT NULL, Vorname varchar(255), Alter int, UNIQUE(ID));

Nun wurde die Tabelle „Person“ mit ihrer „UNIQUE“-Spalte „ID“ angelegt. Sie finden die Tabelle unter "Navigator" und "Schemas", während Sie in der Option "Tabellen" aufgeführt sind.

Wenn Sie beim Einfügen der Datensätze auf die Schaltfläche "Übernehmen" tippen, werden die eingefügten Datensätze wie unten gezeigt überprüft. Sie können sehen, dass wir in den Zeilen 3 und 4 einen doppelten Datensatz haben, der dieselbe "ID" hat. Tippen Sie auf die Schaltfläche "Übernehmen", um die Änderungen zu übernehmen.

In der folgenden Abbildung wird ein Fehler generiert, dass die Spalte "ID" dupliziert wurde, was dem Wert "13" entspricht.

Nach dem Korrigieren des Datensatzes, wenn Sie die Änderungen anwenden, wird es korrekt funktionieren.

Eindeutige Einschränkung über die Befehlszeilen-Shell:

In der MySQL-Befehlszeilen-Shell werden wir UNIQUE-Schlüssel zu einer oder mehreren Spalten hinzufügen. Öffnen Sie zuerst Ihre Befehlszeile, um einen Blick auf die einzelnen Beispiele in den folgenden Beispielen zu werfen. Geben Sie Ihr Passwort ein, um die Befehlsshell zu verwenden.

Beispiel 01: Auf einer einzelnen Spalte

Innerhalb dieser Syntax verwenden wir wie in der Spaltenspezifikation den UNIQUE-Begriff, auf den Sie das Eindeutigkeitsgesetz anwenden möchten. Sobald wir einen Wert einfügen oder ändern, der Duplikate in der jeweiligen Spalte erzeugt, wird die Änderung von MySQL abgelehnt und es wird auch eine Ausnahme ausgegeben. In diesem bestimmten Limit wird es eine Spaltenbeschränkung geben. Und Sie könnten damit auch die eindeutige Regel eines Felds implementieren. Hier ist eine Syntax für einen einspaltigen UNIQUE-Schlüssel:

>> CREATE TABLE Tabellenname (Spalte Datentyp UNIQUE, Spalte Datentyp);

Erstellen wir eine Tabelle „Lieferant“ in der Datenbank „Daten“ mit drei Spalten darin. Die Spalte „ID“ ist als „UNIQUE“ definiert.

>> TABLE-Daten ERSTELLEN.Lieferant( id INT AUTO_INCREMENT NOT NULL UNIQUE, Name VARCHAR(50) NOT NULL, Bereich VARCHAR(50));

Beim Überprüfen können Sie sehen, dass die Tabelle noch keine Datensätze enthält.

>> AUSWÄHLEN * AUS Daten.Lieferant;

Lassen Sie uns die Datensätze in die Tabelle einfügen. Der erste Datensatz wird reibungslos in die Tabelle eingefügt, wie unten gezeigt.

Der zweite Datensatz wird wieder reibungslos eingefügt, da er keine doppelten Werte in der Spalte „ID“ enthält. Auf der anderen Seite nimmt es den gleichen Wert an, den es in der ersten Abfrage in der Spalte „Bereich“ verwendet.

Beim Einfügen des dritten Datensatzes haben wir den doppelten Wert „1“ bereitgestellt, wie wir ihn in der ersten Insert-Anweisung angegeben haben. Es wird ein Fehler generiert, dass die Spalte "ID" einen doppelten Wert erhält, wie in der Abbildung unten gezeigt.

Bei einer erneuten Überprüfung können Sie feststellen, dass die Tabelle nur den Datensatz der ersten beiden Insert-Anweisungen enthält. Während es keinen Datensatz aus der dritten Insert-Anweisung gibt.

>> AUSWÄHLEN * AUS Daten.Lieferant;

Beispiel 02: Auf mehreren Spalten

Bei diesem Format verwenden wir nach dem UNIQUE-Begriff einen durch Kommas getrennten Satz von Spalten in Klammern. Die Zusammensetzung der Werte in den Feldern col1 und col2 wird von MySQL verwendet, um die Eindeutigkeit zu bestimmen.

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

Wir haben eine Tabelle „minister“ in der Datenbank „data“ mit fünf Spalten erstellt. Die Spalte „ID“ ist als „UNIQUE“ und „PRIMARY“ definiert. Das Schlüsselwort „CONSTRAINT“ wird verwendet, um eine eindeutige Schlüsseleinschränkung als „uc_add_sal“ zu benennen. Das Schlüsselwort „UNIQUE“ wird verwendet, um eine UNIQUE-Einschränkung für die in den Klammern angegebenen Spalten zu definieren, z.G., Adresse und „Gehalt“. Jetzt haben wir insgesamt drei Spalten mit der Einschränkung "UNIQUE".

>> TABLE-Daten ERSTELLEN.minister( Mid INT AUTO_INCREMENT PRIMARY KEY NOT NULL UNIQUE, Name VARCHAR(50) NOT NULL, Adresse VARCHAR(50), Job VARCHAR(50), Gehalt VARCHAR(50), CONSTRAINT uc_add_sal UNIQUE (Adresse, Gehalt));

Wenn Sie die Tabelle überprüfen, sehen Sie, dass die Tabelle gerade leer ist.

>> AUSWÄHLEN * AUS Daten.Minister;

Lassen Sie uns einige Datensätze einfügen. Der erste Datensatz wird der Tabelle erfolgreich hinzugefügt, da es sich um die erste Zeile handelt und es keine abzugleichende Zeile gibt.

Geben Sie einen weiteren eindeutigen Datensatz ohne doppelte Werte in einer Spalte ein, wie unten gezeigt.

Es hat keine Auswirkungen, wenn wir die doppelten Werte für die Spalten eingeben, die keine „UNIQUE“-Einschränkung haben. Schauen Sie sich die untenstehende Abfrage an. Es hat einen doppelten Wert in der Spalte "Name" und "Job". Es funktioniert ordnungsgemäß, da für diese beiden Spalten keine „UNIQUE“-Einschränkung definiert ist.

Andererseits, wenn wir den doppelten Wert einfügen, e.G., „13“ und „Rawalpindi“, es wird ein Fehler generiert, wie unten gezeigt. Dies liegt daran, dass „13“ und „Rawalpindi“ früher angegeben wurden.

Bei der Überprüfung haben wir nur drei Datensätze in der Tabelle, die von den ersten drei Abfragen eingefügt wurden.

>> AUSWÄHLEN * AUS Daten.Minister;

Fazit:

Wir haben alle Beispiele zum Definieren von UNIQUE-Einschränkungen für einzelne und mehrere Spalten mit der MySQL Workbench 8 elegant durchgeführt.0 und MySQL-Befehlszeilen-Client-Shell. Hoffentlich werden Sie keine Probleme beim Lösen von Problemen im Zusammenhang mit UNIQUE-Schlüsseln haben.

Mittlere Maustaste funktioniert nicht unter Windows 10
Das mittlere Maustaste hilft Ihnen beim Scrollen durch lange Webseiten und Bildschirme mit vielen Daten. Wenn das aufhört, werden Sie am Ende die Tast...
So ändern Sie die linke und rechte Maustaste auf einem Windows 10-PC
Es ist ganz normal, dass alle Computer-Maus-Geräte ergonomisch für Rechtshänder gestaltet sind. Es gibt aber auch Mausgeräte, die speziell für Linkshä...
Emulieren Sie Mausklicks, indem Sie den Mauszeiger mit der klicklosen Maus in Windows 10 bewegen
Die Verwendung einer Maus oder Tastatur in der falschen Haltung bei übermäßiger Nutzung kann zu vielen gesundheitlichen Problemen führen, einschließli...