SQL Server Eindeutige Einschränkung

SQL Server Eindeutige Einschränkung

Einer der frustrierendsten für einen Datenbankbenutzer ist es, doppelte Einträge auf einer Tabelle zu finden. Obwohl es einige Fälle gibt, in denen doppelte Werte eine Notwendigkeit sein können, geschieht dies selten.

Anstatt zu Ihrer Tabelle zurückzukehren, um die doppelten Datensätze zu filtern und zu entfernen, ist es gut, das Problem überhaupt zu vermeiden.

Glücklicherweise ist es kein massives Unterfangen, da Sie dank der einzigartigen Einschränkungen im SQL -Server sicherstellen können, dass die Daten in einer bestimmten Spalte eindeutig sind und keine doppelten Werte vorhanden sind.

Begleiten Sie uns, während wir lernen, was die einzigartige Einschränkung tut.

SQL Server Eindeutige Einschränkung

Es ist gut, an die Funktionalität der einzigartigen Einschränkung zu denken. Sobald Sie eine eindeutige Einschränkung erstellt haben, erstellt der SQL -Server automatisch einen eindeutigen Index für den Vorgang. Dies stellt sicher, dass die Datenbank -Engine die Einzigartigkeit der Daten durch die Einschränkung durchsetzen kann.

Lassen Sie uns untersuchen, wie wir die eindeutige Einschränkung verwenden können.

SQL Server Erstellen Sie eine Tabelle mit eindeutigen Einschränkungen

Die folgende Abfrage erstellt eine Tabelle mit einzigartigen Einschränkungen:

Datenbank fallen lassen, wenn es sich um Netzwerke handelt
Datenbanknetzwerk erstellen;
Networking verwenden;
Erstellen von Tabelleninformationen (
Id int nicht null identity Primärschlüssel,
Benutzername Varchar (50),
ip_address varchar (50) Nicht null eindeutig,
Land varchar (50) nicht null,
Browser varchar (50) Standardnull,
Bytes int nicht null Standard 0
);

Die vorherigen Aussagen setzen die Spalte ip_address als eindeutig. Dies stellt sicher, dass nur ein Eintrag mit derselben IP zu der Tabelle hinzugefügt wird.

Sie können auch eine Spalte als eindeutig festlegen, wie in Folgendes gezeigt:

Erstellen von Tabelleninformationen (
Id int nicht null identity Primärschlüssel,
Benutzername Varchar (50),
ip_address varchar (50) nicht null,
Land varchar (50) nicht null,
Browser varchar (50) Standardnull,
Bytes int nicht null Standard 0,
eindeutig (ip_address)
);

Sobald wir die Tabelle mit einer einzigartigen Einschränkung haben, können wir wie folgt einen neuen Rekord hinzufügen:

In Informationen einfügen (Benutzername, IP_ADdress, Land, Browser, Bytes)
Werte ('Croosbar', '88.241.248.129 ',' us ',' Mozilla ', 34000),
('Codeyer', '219.199.7.49 ',' de ',' Chrome ', 5648);

In der vorherigen Anweisung Einfügungsanweisung werden der Tabelle zwei Datensätze hinzugefügt.

Wenn wir die vorherige Anweisung erneut ausführen, gibt der SQL-Server einen Fehler zurück.

Verletzung der einzigartigen Schlüsselbeschränkung 'UQ__informat__5376BCC424CE6277'. Der do -do -do -do -taste kann nicht einfügen.Information'. Der doppelte Schlüsselwert ist (88.241.248.129).

In diesem Fall gibt der SQL -Server an, dass die vorherige Einfügungsanweisung gegen die Regeln der eindeutigen Einschränkung verstößt.

SQL Server setzen eindeutige Einschränkungen für mehrere Spalten

Sie können mehr als einer Spalte eine eindeutige Einschränkung zuweisen, wie in der folgenden Syntax angegeben:

table table erstellen (
col_1,
col_2,
… ,
col_n,
Unique (col_1, col_2,… col_n)
);

SQL Server setzen eindeutige Einschränkungen für die vorhandene Tabelle

Um einer vorhandenen Tabelle eine eindeutige Einschränkung hinzuzufügen, können Sie den Befehl alter table wie in der folgenden syntax gezeigt verwenden:

TABLE TABLE TABLE_NAME
Hinzufügen von Einschränkungen für die Einschränkung_Name
Einzigartig (Spalte1, Spalte2,…);

Zum Beispiel:

Tabelle Informationen ändern
Fügen Sie Einschränkungen einzigartig hinzu, einzigartig (ip_address);

Die vorherige Abfrage fügt der Spalte ip_address eine eindeutige Einschränkung hinzu.

SQL Server Drop Eindeutig Einschränkung

Sie können eine vorhandene eindeutige Einschränkung mit dem Befehl alter table wie folgt entfernen:

TABLE TABLE TABLE_NAME
Drop Constraint Constraint_Name;

Beispiel:

Tabelle Informationen ändern
Drop -Einschränkung uniquq_ip;

Denken Sie daran, dass Sie keine Änderungen an einer vorhandenen einzigartigen Einschränkung vornehmen können. Um eine aktuelle Einschränkung zu ändern, müssen Sie sie fallen lassen und dann mit neuen Definitionen neu erstellen.

Abschluss

Vielen Dank, dass Sie sich uns in diesem Tutorial angeschlossen haben. In diesem Leitfaden wurde die Grundlagen der Arbeit mit den einzigartigen Einschränkungen in einem SQL -Server erläutert.

Danke fürs Lesen. Wir sehen uns in unserem nächsten Tutorial!