Heim >Datenbank >MySQL-Tutorial >Wie erzwinge ich die Eindeutigkeit über mehrere Spalten hinweg in MySQL?

Wie erzwinge ich die Eindeutigkeit über mehrere Spalten hinweg in MySQL?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-26 12:12:10373Durchsuche

How to Enforce Uniqueness Across Multiple Columns in MySQL?

Eindeutige Einschränkungen für mehrere Spalten in MySQL angeben

In MySQL können Sie eine eindeutige Einschränkung für eine Tabelle erstellen, um sicherzustellen, dass keine zwei Zeilen identische Werte für eine bestimmte Spalte haben Reihe von Spalten. Dies ist nützlich, um die Datenintegrität aufrechtzuerhalten und die Eindeutigkeit über verschiedene Datensätze hinweg zu erzwingen.

Beachten Sie die folgende Tabelle:

CREATE TABLE votes (
    id INT NOT NULL AUTO_INCREMENT,
    user VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL,
    address VARCHAR(255) NOT NULL,
    PRIMARY KEY (id)
);

Um eine eindeutige Einschränkung zu erstellen, die für die Benutzer-, E-Mail- und Adressspalten gilt können Sie die folgende Syntax verwenden:

ALTER TABLE `votes` ADD UNIQUE `unique_index`(`user`, `email`, `address`);

Die ALTER TABLE-Anweisung wird verwendet, um das Schema der vorhandenen Tabelle zu ändern. Die ADD UNIQUE-Klausel erstellt eine neue eindeutige Einschränkung mit dem Namen unique_index. Die in den Klammern angegebenen Spalten sind diejenigen, die in die Einschränkung einbezogen werden.

Nach der Ausführung dieser Anweisung erzwingt die MySQL-Datenbank die eindeutige Einschränkung für die angegebenen Spalten. Dies bedeutet, dass jeder Versuch, eine neue Zeile mit identischen Werten für Benutzer, E-Mail und Adresse einzufügen, zu einem SQL-Fehler führt und die Zeile nicht zur Tabelle hinzugefügt wird.

Durch die Implementierung eindeutiger Einschränkungen können Sie dies tun Stellen Sie die Integrität und Genauigkeit Ihrer Daten sicher, indem Sie doppelte Werte in bestimmten Spalten verhindern.

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

Stellungnahme:
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