Heim > Datenbank > MySQL-Tutorial > Wie erzwinge ich eindeutige Einschränkungen über mehrere Spalten in MySQL?

Wie erzwinge ich eindeutige Einschränkungen über mehrere Spalten in MySQL?

Susan Sarandon
Freigeben: 2024-12-16 16:37:10
Original
386 Leute haben es durchsucht

How to Enforce Unique Constraints Across Multiple Columns in MySQL?

Eindeutige Einschränkungen für mehrere MySQL-Spalten festlegen

Im Kontext der MySQL-Datenbankverwaltung stellt die eindeutige Einschränkung einer Tabelle sicher, dass keine zwei Zeilen identische Zeilen enthalten Werte für einen angegebenen Satz von Spalten. Um eine solche Einschränkung durchzusetzen, verwenden wir die Befehle ALTER TABLE und ADD UNIQUE in Verbindung.

Zusammenfassung:

ALTER TABLE <table_name> ADD UNIQUE <index_name>(<column1>, <column2>, ...)
Nach dem Login kopieren

Beispiel:

Bedenken Sie das folgende Tabellenschema:

table votes (
    id,
    user,
    email,
    address,
    primary key(id),
);
Nach dem Login kopieren

An Um sicherzustellen, dass die Kombination aus Benutzer-, E-Mail- und Adressspalten eindeutig ist, können wir den folgenden Befehl ausführen:

ALTER TABLE `votes` ADD UNIQUE `unique_index`(`user`, `email`, `address`);
Nach dem Login kopieren

Erklärung:

  • The ALTER Die TABLE-Anweisung ändert das Schema der Tabelle durch Hinzufügen einer eindeutigen Einschränkung.
  • Die ADD UNIQUE-Klausel gibt an, dass die angegebenen Spalten (Benutzer, E-Mail, Adresse) müssen über alle Zeilen hinweg eindeutige Werte haben.
  • Der unique_index ist ein benutzerdefinierter Name, der dem Index zugewiesen wird.

Durch die Implementierung dieser Einschränkung garantiert MySQL, dass es nicht mehrere Zeilen mit identischem Benutzer geben kann. E-Mail- und Adresskombinationen, um doppelte Einträge zu vermeiden.

Das obige ist der detaillierte Inhalt vonWie erzwinge ich eindeutige Einschränkungen über mehrere Spalten in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage